Como recuperar arquivos truncados por ''?

2

Eu tinha um arquivo de texto hello.txt que contém cerca de 100 linhas.Eu acidentalmente excluí todas as linhas executando echo > hello.txt

Agora eu quero recuperar todas as 100 linhas. Existe alguma maneira de recuperar as linhas nesse arquivo usando comandos de terminal?

    
por Avinash Raj 09.01.2014 / 18:26

3 respostas

3

Você não pode recuperar o conteúdo. Não há misericórdia.

Mas pesquise por arquivos de backup. Se você tiver sorte, haverá um arquivo chamado hello.txt~ para hello.txt no mesmo diretório. Esses arquivos geralmente são criados por editores de texto como gedit ou emacs quando você edita um arquivo.

Se você tiver esse arquivo de backup, poderá recuperar o conteúdo (você também pode recuperar apenas uma parte). Use o seguinte no terminal,

mv hello.txt~ hello.txt

É melhor ter uma parte do que perdê-la completamente.

    
por souravc 09.01.2014 / 18:41
2

Eu acidentalmente trunca um arquivo usando o gedit. Foi truncado de 1800 kB para 25 kB.

Eu queria compartilhar algumas técnicas de recuperação que tentei. Isso não é para ser uma resposta definitiva, mais uma coleção de respostas para tentar. Isto é semelhante a este post .

Primeiro, remonte o sistema de arquivos como readonly! . Faça isso o mais rápido possível.

sudo mount -o remount,ro /

No meu caso, não consegui remontar readonly, então ...

O comando mount falhou. com erro mount: / is busy .

Eu recomendo o passo drástico de simplesmente desligar a sua máquina. Sim, drástico! Mas eu não sei quanto tempo os restos do arquivo truncado estarão por perto. Eles podem ser substituídos a qualquer momento. Inicialize no LiveCD do Ubuntu.

Por um comentário aqui , eu corri telinit 1 , que caiu para o nível 1 do init. Isso só complicou coisas, então eu não recomendo fazer telinit 1 . Eu recomendo o hard power down.

tentativa de usar o ext3grep

Após esta postagem do blog e este encadeamento de e-mail , tente usar ext3grep .
No entanto, ext3grep falhou para mim. Eu só consegui recuperar o arquivo truncado.

tentativa de usar o sleuthkit

sleuthkit é um conjunto de ferramentas interessante. Você provavelmente terá que instalá-lo. Novamente, isso é complicado se o arquivo truncado for o / mount. Mais uma vez, recomendo desligar e executar um LiveCD. Usando esta postagem no blog e esta postagem no blog , as instruções são essencialmente

  1. apt-get instala o sleuthkit
  2. stat truncated-file | grep Inode
    lembre-se do número do inode (chame de INODE_NUMBER )
  3. faça backup do arquivo e exclua-o:
    cp -a truncated-file truncated-file.old
    rm truncated-file
    1. debugfs /dev/disk-device
    2. stats
       procure por Blocos por grupo
       Isso é muito provável 32768 . (chame de BLOCKS_PER_GROUP )
    3. imap para obter o bloco
      imap <$INODE_NUMBER>
      lembre-se do número do bloco (chame de BLOCK_NUMBER )
  4. use blkls para copiar os blocos para um arquivo
    blkls /dev/disk-device $BLOCK_NUMBER-$(echo '$BLOCK_NUMBER+$BLOCKS_PER_GROUP-1' | bc) > recovered-file
  5. revise e limpe manualmente o arquivo recuperado usando algum programa de edição

Mas sleuthkit não funcionou para mim. Apenas o arquivo truncado foi recuperado.

tentativa de usar extundelete

Desta postagem no fórum .

tente usar o grep

Desta postagem , grep para alguma string conhecida no arquivo truncado. Este é o único método que funcionou para mim.

grep -a -A 1000 -F 'some known string' /dev/disk-device > recovered-file
    
por JamesThomasMoon1979 15.07.2015 / 19:44
0

Desculpe amigo, é impossível ...

Você pode recuperar arquivos excluídos, mas não pode recuperar um arquivo com conteúdo excluído.

    
por Maythux 09.01.2014 / 18:30