desassocie o arquivo original em vez do link simbólico. O que fazer?

3

Eu tinha um arquivo com link simbólico

link - > original_file

original_file

Por engano, executei o comando unlink com original_file

Agora o arquivo original está faltando e o link simbólico está quebrado. O que fazer? Como recuperar o arquivo original?

    
por Rohail Abbas 10.05.2016 / 17:32

2 respostas

4

Como a página man especifica, o comando unlink removerá um arquivo especificado:

UNLINK(1)

NAME
   unlink - call the unlink function to remove the specified file

O Unlink também removerá hard-links e links simbólicos. Como um arquivo no Linux é um hard-link para um inode, se um arquivo regular é especificado como um parâmetro, este hard-link será removido, e se o arquivo for o último hard-link para o inode do arquivo, então o arquivo é gentilmente apagado.

    
por 10.05.2016 / 17:41
3

Dependendo do sistema de arquivos usado, você ainda poderá recuperar o arquivo excluído. Existem muitas ferramentas para ext2 e várias ferramentas para ext3 e ext4 mais complexas. Por exemplo , você poderia tentar

extundelete /dev/sdaX --restore-directory someDirectory

Isto irá restaurar todos os arquivos encontrados na partição. Se você souber exatamente o inode ao qual seu arquivo foi vinculado, poderá restaurar apenas esse arquivo.

    
por 10.05.2016 / 18:56