Os arquivos / diretórios excluídos com rm podem ser restaurados?


69

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


de ferramentas para recuperar arquivos apagados (em qualquer forma), você pode dar uma olhada para esta questão askubuntu.com/q/3883
— Decio Lira

Não use "rm" se você deseja restaurar os arquivos no futuro .Você pode usar "rm-lixo" utilidade: github.com/nateshmbhat/rm-trash
— Natesh bhat

Respostas:


63

Para esse fim, uso o trash-clipacote e o alias a seguir no meu~/.bashrc

alias rm=trash

E o trash-clipacote pode ser instalado pelo comando followoing: sudo apt-get install trash-cli.

Os arquivos que você remover serão movidos para a lixeira e você poderá vê-los na lixeira do nautilus.

Você sempre pode acessar o real rmusando um dos seguintes métodos:

command rm something
'rm' something
\rm something

Há também comandos para acessar a lixeira do terminal, trash-list, restore-trash(ou trash-restore), trash-emptyinstalável do pacote de trash-cli (depois ver suas páginas man).

Última observação, não é aconselhável usar esse alias para superusuário, pois isso pode interferir nas operações do sistema.


19
É uma solução alternativa, mas realmente não responde à pergunta.
— Evgeny 13/10/10

Eu acho que o usuário também gostaria de saber se existe algum método para obter o mesmo comportamento na linha de comando. Caso contrário, estou pronto para remover minha resposta.
— enzotib 13/10/10

3
É bom. Eu ganhei algum conhecimento.
— user3215

27

A exclusão do terminal a exclui 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), dê uma olhada no ext3undel .

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

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


Seria realmente útil para edições na área de trabalho.
— user3215

Duvido que isto funciona de forma eficaz para drives SSD, mas feliz ao ouvir de outra forma
— mate

13

Você está procurando: extundelete - utilitário para recuperar arquivos excluídos 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 extundeletee estude-o com cuidado.


6

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

sudo apt-get install foremost

Agora abra /etc/foremost.confe 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 remover as linhas irrelevantes).

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

css     n       40000   Theme\sName:     Plugin\sFixes

A segunda coluna refere-se à distinção entre 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) e a última coluna é como o arquivo geralmente termina.

Use o seguinte comando (edite o disco adequadamente. Pode verificar com o dfcomando)

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

O que acontecerá a seguir é que, acima de tudo, criará uma pasta chamada output e despejará todos os dados recuperados (neste caso) na pasta. A partir daí, você pode usar diffou meldcomparar os 'arquivos' recuperados e ver qual é o mais atualizado.


Muito obrigado. Funcionou perfeitamente. Eu removi acidentalmente meu phparquivo de origem usando rm -fr php/2 phparquivos. Menos de 2 minutos foram recuperados perfeitamente. No .confarquivo que adicionei:php n 40000 <?php ?> ASCII
— Shakiba Moshiri

5

Falando nos termos mais abstratos, sempre que você exclui um arquivo na interface gráfica, o arquivo é "movido" para um "buffer" especial, um diretório chamado trash. Você pode localizá-lo em seu homediretório ~/.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 rmum 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 similar. Quando um arquivo é excluído usando rm, a árvore é atualizada, o número de links físicos é reduzido e a entrada correspondente na listagem de diretórios é removida. Se o seu arquivo tiver um link físico, é absolutamente seguro. Você pode fazer um file / -samefile filename. Você pode pesquisar o arquivo se lembrar também do número do inode (esse não é o caso).

Outro caso é quando nenhuma das possibilidades acima é verdadeira. Sempre que você cria rmum arquivo, a entrada do arquivo no diretório é removida, reduzindo o número de links físicos em um. E se o número de links físicos cair para zero, o ponteiro para o arquivo no inode será descartado ou marcado para ser excluído. De qualquer maneira, seu arquivo "imóvel" reside no disco rígido. Na verdade, o arquivo é apagado do disco rígido apenas na remontagem subsequente. A recuperação de arquivos nesse momento é extremamente difícil, envolve percorrer a árvore do sistema de arquivos e os inodes que representam os locais reais dos blocos de disco. Já ouvi falar de uma ferramenta popular, mas nunca a usei extundelete. Embora não haja garantia, vale a pena tentar.

Depois de recuperar seus arquivos com sucesso ou não, apresse-se para fazer backups regulares. É extremamente simples no Ubuntu.


2

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

Você também pode perguntar se existem ferramentas extfs "undelete" como existem para FAT e NTFS. (Não conheço nenhum, mas ficaria surpreso se não houvesse.)


Oh ... está tudo bem! Eu pensei que poderia ser recuperado de algum local.
— user3215

1

use o utilitário " rm-trash ", que lida com os coloca no lixo para recuperação posterior e suporta todas as opções do comando "rm".

sudo add-apt-repository ppa:nateshmbhat/rm-trash
sudo apt-get update
sudo apt-get install rm-trash

"rm-lixo" é

  • destinado a ser usado no lugar de rm
  • lida com todas as opções que a rm pode usar
  • lida com as colisões de nomes de arquivos com os arquivos que já estão no lixo
  • lida com alguns problemas de permissão automaticamente
  • se rm for chamado de qualquer outro script ou indiretamente, o comando 'rm' do sistema será usado automaticamente
  • mostra as mensagens de erro apropriadas, como as que surgem no rm
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.