Remove todos os links simbólicos de arquivos em um comando

6

Eu quero remover todos os links simbólicos dos arquivos. Eu tenho uma estrutura de diretório como /usr/local/instantclient/11.2.0.3 que contém muitos arquivos e eu tenho links simbólicos desses arquivos em /usr/local/lib/ Agora eu quero excluir todos esses links simbólicos desses arquivos. Como posso fazer isso em um comando? Se eu remover os arquivos contendo dir/usr/local/instantclient/11.2.0.3 reais, ele deixará os links quebrados em /usr/local/lib .

    
por MutantMahesh 24.04.2013 / 09:04

1 resposta

11

Para remover os links (de man find em -type ):

          l      symbolic link; this is never true if the -L option or the
                 -follow option is in effect, unless the symbolic link  is
                 broken.  If you want to search for symbolic links when -L
                 is in effect, use -xtype.

Acho que isso deve dar certo:

find /usr/local/lib/ -maxdepth 1 -follow  -type l

A saída produz uma lista dos arquivos que você deseja excluir? Se sim, quando tiver 100% de certeza:

find /usr/local/lib/ -maxdepth 1 -follow  -type l -delete

Isso removerá apenas links quebrados. Para excluir os all links, remova a sub-rotina -follow , mas eu não faria isso em /usr/local/lib .

    
por 24.04.2013 / 09:13

Tags