Primeiro: pare de usar esta unidade agora . Não há problema em remontá-lo somente leitura, apenas certifique-se de não escrever mais nada. Sim, você excluiu as imagens. Eles podem ser recuperáveis, mas quanto mais você continuar usando essa unidade, menos chances terá de recuperar alguma coisa.
Seu comando foi executado mv pic1.jpg pictures
, mv pic2.jpg pictures
etc. Cada chamada de mv
substituição do arquivo atualmente nomeado pictures
por outra figura.
Mover um arquivo (dentro do mesmo sistema de arquivos) significa desanexá-lo do diretório que o contém e anexá-lo ao diretório de destino com o novo nome. Portanto, nenhum dado do arquivo foi modificado ou excluído por este comando, apenas as entradas do diretório para as imagens que desapareceram.
Você pode executar uma ferramenta que vasculha o espaço livre do seu sistema de arquivos e procura coisas que parecem jpegs. Felizmente, todo arquivo jpeg começa com um cabeçalho reconhecível. As ferramentas que procuram conteúdo excluído são chamadas de ferramentas de escultura . Existem alguns no Ubuntu, incluindo recoverjpeg , acima de tudo , testdisk ,… Se as fotos estiverem em uma partição inicial separada ou em uma unidade externa, instale um ou mais desses pacotes e aponte-os para a partição com as imagens excluídas.
Se as fotos estiverem no disco do sistema, você precisará parar de usar o sistema imediatamente. Use outro computador para baixar um CD ou USB ativo e inicializá-lo. Qualquer um dos CDs ao vivo que incluem testdisk deve atender à demanda, mas alguns são mais fáceis de usar do que outros. O System Rescue CD é um bom CD de resgate de sistema de uso geral. O Ubuntu Rescue Remix pode ser mais familiar para um usuário do Ubuntu.
Para referência futura, adquira o hábito de usar, a mv -i
menos que pretenda sobrescrever arquivos. Você já pode ter um alias para mv
, mas isso só entra em ação quando você digita mv
diretamente na linha de comando, não quando mv
é invocado por um script ou pelo find
comando.
$ : >pictures
$ mv -i foo.jpg pictures
mv: overwrite `pictures'?
Além disso, se você colocar um /
nome depois de um nome que deveria ser o nome de um diretório, você receberá um erro se o diretório não existir ou se houver um arquivo com esse nome que não seja um diretório.
$ : >pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
$ rm pictures
$ mv foo.jpg pictures/
mv: cannot move `foo.jpg' to `pictures/': Not a directory
Para evitar as armadilhas find
, você pode usar o recurso de passagem de diretório recursivo do bash. Você precisa ativá-lo primeiro com o comando shopt -s globstar
(você pode adicionar esta linha ao seu ~/.bashrc
. Em seguida:
mv **/*.jpg pictures/
(Observe que no bash **/
também percorre links simbólicos para diretórios e não há como desativar isso. Se você deseja um percurso recursivo que não olha através de links simbólicos para diretórios, use zsh ou find.)