Arquivos / diretórios deletados com rm podem ser restaurados?

59

É possível restaurar arquivos / diretórios que são excluídos do terminal usando rm e rm -r ?. Se um arquivo for excluído da interface gráfica, ele poderá ser restaurado da lixeira, mas como você restaura um arquivo se ele for removido usando o utilitário rm?.

    
por user3215 13.10.2010 / 08:37

7 respostas

58

Para isso, uso trash-cli package e o seguinte alias em ~/.bashrc

alias rm=trash

Os arquivos removidos serão movidos para o lixo e você poderá vê-los na lixeira do Nautilus.

Você sempre pode acessar o verdadeiro rm usando um dos seguintes métodos:

command rm something
'rm' something
\rm something

Também existem comandos para acessar a lixeira do terminal, trash-list , restore-trash (ou trash-restore ), trash-empty instalável a partir do pacote trash-cli (veja as páginas man).

Por último, não é aconselhável usar um alias como superusuário, pois isso pode interferir nas operações do sistema.

    
por enzotib 13.10.2010 / 09:08
24

Excluí-lo do terminal exclui-o permanentemente - a recuperação é muito difícil e, às vezes, impossível.

Se o seu tipo de partição for ext3 (verifique usando System->Administration->Disk Utility ), então dê uma olhada em ext3undel .

Se não estiver (se você instalou o Ubuntu com configurações padrão ), tente o programa extundelete .

Não há garantia de que você recuperará qualquer coisa.

    
por evgeny 13.10.2010 / 08:47
13

Você está procurando: extundelete - utilitário para recuperar arquivos apagados da partição ext3 / ext4

Para encontrar esse pacote, você pode tentar: apt-cache search undelete

Para usar o utilitário, instale-o com: sudo apt-get install extundelete

Após a instalação, invoque man extundelete e estude-o atentamente.

    
por H.-Dirk Schmitt 09.03.2013 / 21:36
6

Apenas como alternativa, se você sabe especificamente que tipo de arquivo é ...

sudo apt-get install foremost

Agora abra /etc/foremost.conf e você verá uma longa lista de linhas comentadas. Se o seu tipo de arquivo existir, remova o comentário da linha (você também pode querer remover as linhas irrelevantes).

Se o seu tipo de arquivo não existir, adicione sua própria linha. Digamos que eu queira recuperar um arquivo .css e sei que é cerca de 40K. Eu poderia adicionar isso:

css     n       40000   Theme\sName:     Plugin\sFixes

A segunda coluna refere-se à diferenciação de maiúsculas e minúsculas, a terceira coluna refere-se ao limite superior de tamanho, a quarta coluna é como o arquivo é iniciado (lembre-se de usar caracteres de escape) ea última coluna é como o arquivo geralmente termina. / p>

Use o seguinte comando (edite o disco adequadamente. verifique com o comando df )

foremost -v -T -c /etc/foremost.conf -i /dev/sda -o output

O que acontecerá a seguir é que o principal criará uma pasta chamada output e despejará todos os dados recuperados (neste caso) na pasta. A partir daí, você pode usar diff ou meld para comparar os arquivos recuperados e ver qual é o mais atualizado.

    
por Reuben L. 21.02.2014 / 07:37
4

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.

    
por John Strood 10.10.2016 / 13:04
2

Desculpe, mas os arquivos excluídos de uma linha de comando com o "rm" e "rm -f" ignoram a "Lixeira" que você tem na área de trabalho do Gnome.

Você também pode querer perguntar se existem ferramentas "undelete" de extfs como existem para FAT e NTFS. (Eu não sei de nenhum, mas eu ficaria surpreso se não houvesse nenhum.)

    
por Stéphane 13.10.2010 / 08:44
0

Você pode tentar este script. Funciona muito bem e pretende ser usado no local de rm

link

Recursos:

  • destinado a ser usado no lugar de rm
  • lida com todos os argumentos que o rm pode aceitar
  • manipula as colisões de nomes de arquivos com os arquivos que já estão na lixeira
  • lida com alguns problemas de permissão automaticamente
  • se rm for chamado de qualquer outro script ou indiretamente, o comando do sistema 'rm' será usado automaticamente
  • mostra as mensagens de erro apropriadas, como aquelas que surgem em rm
por Natesh bhat 15.05.2018 / 03:40