Encontre todos os dirs / arquivos que possuem links simbólicos apontando para eles?

5

Estou em uma situação em que desejo excluir alguns arquivos, mas pode haver alguns links simbólicos apontando para o arquivo, por isso não desejo excluir esses destinos.

Existe um comando ou algumas opções que me dirão quais arquivos e diretórios possuem links simbólicos para eles? No meu caso, estou preocupado apenas com arquivos / dirs no primeiro nível de um diretório específico (ou seja, sem recursão), mas um comando geral pode ser útil no futuro.

    
por user394 13.12.2015 / 21:06

1 resposta

5

Um arquivo não acompanha os links simbólicos que apontam para ele. Em vez disso, procure links simbólicos sob sua árvore e descubra para qual arquivo / diretório eles apontam usando readlink :

find -type l -exec readlink -e -- "{}" \+ | sort | uniq

Como o comportamento padrão de find é recursivo, isso funcionará para uma profundidade arbitrária.

    
por 13.12.2015 / 21:29