Falando nos termos mais abstratos, sempre que você excluir um arquivo na interface gráfica, o arquivo é "movido" para um "buffer" especial, um diretório chamado trash
. Você pode localizá-lo no diretório home
, ~/.local/share/Trash/
. Os arquivos "excluídos" deste diretório serão realmente excluídos. Essa exclusão real é o que acontece quando você usa rm
em um arquivo.
É extremamente difícil recuperar arquivos excluídos. Os arquivos no sistema de arquivos são representados como nós em uma árvore B ou algo semelhante. Quando um arquivo é excluído usando rm
, a árvore é atualizada, o número de hardlinks é reduzido, a entrada correspondente na listagem de diretórios é removida. Se em tudo, seu arquivo tinha um link físico, seu arquivo é absolutamente seguro. Você pode fazer um file / -samefile filename
. Você pode procurar o arquivo se você se lembrar do seu número de inode também (isto dificilmente é o caso).
Outro caso é quando nenhuma das possibilidades acima é verdadeira. Sempre que você rm
um arquivo, a entrada do arquivo no diretório é removida, reduzindo o número de hardlinks por um. E se o número de links físicos cair para zero, o ponteiro para o arquivo no inode será descartado ou será marcado para ser excluído. De qualquer maneira, o seu arquivo "ainda" reside no disco rígido. O arquivo é realmente apagado do disco rígido somente na remontagem subseqüente. A recuperação de arquivos em tal momento é extremamente difícil, envolve passar pela árvore do sistema de arquivos e os inodes representando as localizações reais dos blocos de disco. Há uma ferramenta popular que eu ouvi falar, mas nunca a usei, chamada extundelete
. Embora não haja garantia, vale a pena dar uma chance.
Depois de recuperar ou não os arquivos com êxito, faça pressa para fazer backups regulares. É extremamente simples no Ubuntu.