Você precisa ter cuidado com mv e cp : eles são implacáveis e você pode facilmente perder arquivos, por exemplo: -
mv * .. ; # moves from current directory to parent, overwriting duplicates
Eu recomendo sempre usar -n ou -i para evitar substituições. Eu também sugiro -v para listar o que foi feito. Uma vez eu digitei errado (peguei a tecla #, ao lado para retornar no teclado): -
mv * other/#
Isso moveu o primeiro arquivo para 'other / #', depois substituiu o mesmo '#' por todos os outros arquivos, deixando-me com apenas '#', contendo o último arquivo movido! Eu não fiz isso de novo.
Porque eu também uso o TCC no Windows que eu digitei, sem pensar esperando mover para arquivos de mesmo nome no diretório de destino: -
mv -iv * other/* ; # In TCC, MOVE * other\* would do what I wanted
Isso normalmente falha, a menos que o último nome expandido no destino seja um diretório, em cujo caso todos os arquivos no diretório atual e todos os outros arquivos no destino são movidos para ele.
Quanto ao que aconteceu com seus arquivos: se você conhece algum nome, use find no diretório pai para ver se os moveu para algum lugar inesperado. Se isso não funcionar, tente o pai dos pais. Você pode se surpreender de onde eles acabaram.
Se você não confiar em si mesmo para lembrar as opções, adicione o seguinte comando (ou similar) a ~ / .bashrc ou ~ / .bash_aliases : -
alias mv="'which mv' -iv"