Removendo o arquivo e todos os links - difíceis e simbólicos

1

Como posso remover o arquivo e todos os links relacionados ao arquivo a serem removidos?

rm -f file.txt remove apenas o arquivo. Além disso, se houver algum outro link do sistema de arquivos, o arquivo não será removido.

Qual é a maneira mais útil de fazer isso?

Ou pode haver um comando para obter uma lista completa dos links do arquivo.

    
por Vyacheslav 17.01.2015 / 18:29

2 respostas

2

Use ls -li filename para obter o inode do arquivo. Então find <the same filesystem> -inum <inode> para obter os arquivos com o mesmo inode

Isso garantirá que você encontre todas as cópias do arquivo (hardlinks). Os softlinks não são interessantes porque eles apenas apontam para o arquivo original

    
por 17.01.2015 / 18:40
1

Para encontrar todos os links para um arquivo, sejam eles duros e simbólicos, use o comando find com as opções -L e -samefile , desta forma:

find / -L -samefile file.txt

Você poderia combinar isso com rm ou com a ação find -delete para excluir esses arquivos em um comando, mas me faria nervoso fazer isso sem revisar a lista de arquivos a serem excluídos primeiro. Além disso, se você remover o arquivo.txt antes de encontrar todos os links para ele, será muito mais difícil encontrar os links.

    
por 17.01.2015 / 19:23

Tags