Segue aqui uma dica, usada por mim algumas vezes.
Recuperação de arquivos textos pessoais.
Caso acidentalmente um arquivo texto tenha sido apagado, por exemplo, algum email ou os resultados da última noite de programação, há uma chance de recuperá-los. Caso o arquivo tenha sido gravado em disco, isto é se não foi gravado há mais de 30 segundos, seu conteúdo pode ainda estar na partição em disco.
Pode-se usar o comando grep para procurar o conteúdo do arquivo diretamente na partição em disco.
Por exemplo, recentemente, eu acidentalmente apaguei um email. Então imediatamente cessei qualquer atividade que pudesse modificar a partição: Neste caso, bastou suspender qualquer atividade de salvamento de arquivos ou compilações, etc... Em algumas situações eu na verdade desliguei o sistema e o inicializei em modo monousuário, sem montar os sistemas de arquivos.
Após eu utilizei o comando egrep na partição do disco: no meu caso uma mensagem eletrônica em /usr/local/home/walter/. Inicialmente pode-se ver que o diretório está localizado em /dev/hdb5, utilizando-se o comando df:
Agora deve-se ser extremamente cuidadoso ao lidar com partições de discos, devendo-se verificar cuidadosamente o comando a ser aplicado antes de pressionar [Enter]. Neste caso procuro o email contendo a palavra ftp seguido de algum texto que contenha a palavra COL. A mensagem continha aproximadamente 20 linhas, tendo então usado -50 para recuperar todas as linhas no entorno da mensagem. No passado eu cheguei a usar -3000 para ter certeza de recuperar todas as linhas de algum código fonte. A saída do comando egrep foi direcionada para uma partição diferente do disco - prevenindo-se assim alguma gravação sobre a área que contém as informações desejadas.
Após, utilizei o comando strings para auxiliar na avaliação da saída anterior:
Seguro o suficiente para garantir que o email estava lá.
Este método não é totalmente seguro, pois parte ou toda a área utilizada pelo arquivo anteriormente já pode ter sido utilizada.
Esta dica é provavelmente útil somente em sistemas monousuários. Em sistemas multiusuários com alto nível de atividade em disco, o espaço liberado pode já ter sido utilizado.
Em meu sistema doméstico esta dica pode ser utilizada com sucesso em pelo menos três ocasiões nos últimos anos - principalmente quando acidentalmente eu apaguei o resultado de dias de trabalho. E caso a tarefa na qual eu esteja trabalhando chegue a um ponto onde eu sinta um progresso significativo, é aconselhável copiá-lo em um ou mais disquetes, não sendo necessário usar esta dica com muita freqüência.