Posso recuperar um arquivo excluído? [duplicado]

7

Eu deletei um arquivo por engano enquanto estava conectado ssh. Como eu posso recuperar esse arquivo ou, se o Ubuntu tem algo como lixeira ou algo assim?

    
por Hari Krishna 29.10.2014 / 13:47

2 respostas

13

rm versus exclusão da GUI

Se você usou o comando rm , você realmente excluiu o arquivo. Os dados não podem mais ser acessados a partir do sistema de arquivos - exceto se houver outro link físico para o arquivo (incomum) ou se você tiver excluído um link simbólico.

Os dados reais ainda podem estar no disco, em blocos de disco que o sistema de arquivos considera não serem usados. Se você quiser recuperá-lo, não deve gravar no disco, pois ele pode reutilizar o espaço em disco que contém dados. Você pode tentar a recuperação regular de dados no arquivo com as ferramentas adequadas para o sistema de arquivos usado.

Para o sistema de arquivos ext4 padrão, consulte: Existe algum software de recuperação disponível para ext4? e a maioria das respostas sobre a questão relacionada abaixo.

Lixeira para o CLI

É possível usar a lixeira na linha de comando, mas isso não está configurado por padrão. O pacote trash-cli contém ferramentas de linha de comando para usar a lixeira do ambiente de área de trabalho.

Existem comandos como trash-put , trash-list etc;
Os nomes são bem longos - você pode definir aliases de shell como

alias tp='trash-put'

ou

alias del='trash-put'

e, em seguida, use del em vez de rm para excluir arquivos ou diretórios de maneira mais segura.

Como é proposto na resposta abaixo, é possível usar o nome do alias rm , substituindo o comando rm real por trash-put , mas há vários motivos para não fazer isso; alguns deles são:

  • A implementação de trash-put é muito menos testada que rm de 'GNU coreutils' no Ubuntu, por exemplo.
  • As opções do padrão rm não são todas suportadas por trash-put
  • Alguém usará o shell com o alias mais cedo ou mais tarde e verá um comando rm muito quebrado, tecnicamente.
  • Uma sintaxe especial é necessária quando o rm real é necessário
  • Geralmente, não é uma boa ideia mexer com uma ferramenta muito perigosa, pelo menos arriscando confusão.

Dito isto, veja a resposta de @enzotib em Arquivos / diretórios excluídos com rm podem ser restaurados? sobre como configurar o alias.

    
por Volker Siegel 29.10.2014 / 14:08
3

Há um caso especial em que você pode recuperar um arquivo excluído, quando ainda está aberto em algum programa. Você só precisa descobrir qual programa está usando.

Guardei esta resposta de Patrick do Unix e do Linux Stack Exchange, mas não de um link para o original.

Recuperando um arquivo excluído se o arquivo ainda estiver aberto em um programa.

Se o arquivo ainda estiver aberto, você poderá recuperá-lo indo para / proc / PID / fd onde PID é o pid de um programa que tem o arquivo ainda está aberto. Este diretório contém todos os descritores de arquivos abertos do programa, e você pode acessá-los assim como os arquivos normais, então você pode copiar o arquivo off / proc. - Patrick 18 de dezembro às 4:44 e - camh 19 de dezembro às 7:12 - Unix e Linux stackexchange

    
por Joe 30.10.2014 / 01:58