Com o comando:
ls -la * Posso listar todos os meus links simbólicos.
Como posso remover todos os links simbólicos que estão vinculados a uma pasta especial?
Por exemplo:
 No meu diretório usr/local/bin Eu tenho as seguintes entradas: 
lrwxrwxrwx 1 root root 50 Apr 22 14:52 allneeded -> /usr/local/texlive/2011/bin/x86_64-linux/allneeded lrwxrwxrwx 1 root root 47 Apr 22 14:52 amstex -> /usr/local/texlive/2011/bin/x86_64-linux/amstex lrwxrwxrwx 1 root root 24 Apr 23 19:09 arara -> /home/marco/.arara/arara  Agora quero remover todos os links com o caminho /usr/local/texlive/ 
Comentários
- Você quer dizer remover todos os links simbólicos vinculados a uma pasta de destino? Ou mover todos os links simbólicos encontrados para uma pasta específica?
- @uther: quero dizer, removendo os links.
Resposta
Certifique-se de ler a resposta alternativa . É ainda mais direto ao ponto, embora não tenha votado tão alto neste momento.
Você pode usar isso para excluir todos os links simbólicos:
find -type l -delete  com versões find modernas. 
Em versões de localização mais antigas, pode ter que ser:
find -type l -exec rm {} \; # or find -type l -exec unlink {} \; Para limitar a um determinado destino de link, presumindo que nenhum dos caminhos contenha qualquer caractere de nova linha:
 find -type l | while IFS= read -r lnkname; do if [ "$(readlink "$lnkname")" == "/your/exact/path" ]; then rm -- "$lnkname"; fi; done ou formatado bem
 find -type l | while IFS= read -r lnkname; do if [ "$(readlink "$lnkname")" = "/your/exact/path" ]; then rm -- "$lnkname" fi done  O if também poderia incluir uma condição mais complexa, como a correspondência de um padrão com grep. 
Feito sob medida para o seu caso:
find -type l | while IFS= read -r lnk; do if (readlink "$lnk" | grep -q "^/usr/local/texlive/"); then rm "$lnk"; fi; done ou formatado bem:
find -type l | while IFS= read -r lnk do if readlink "$lnk" | grep -q "^/usr/local/texlive/" then rm "$lnk" fi done Comentários
- Este comando remove todos os links simbólicos? Por favor, veja minha edição acima.
- @ Marco: sim, as três primeiras linhas seriam. Editando mais 🙂
-  Eu também adicionaria um -printno final do
comando para obter algum feedback visual.
Resposta
 Com um find moderno que suporta -lname: 
find /usr/local/bin -lname "/usr/local/texlive/*" -delete deve servir .
Comentários
- Essa é uma solução excelente e simples. Eu testei e funciona como um encanto. Obrigado
-  Presumivelmente, deve ser find /usr/local/bin
-  Nem mesmo moderno, necessariamente. GNU findteve-lnamepor mais tempo do que eu tenho mantido (desde cerca de 2003).
-  @JamesYoungman: Obrigado! Por moderno findeu realmente quis dizer GNUfind. 😉 Useiusr/local/bin, porque isso ' é o que o OP usou.
Resposta
 A find solução é ótima. 
 Apenas no caso de sua descoberta não suporte -lname, aqui está outra maneira que usa apenas shell e readlink. 
cd /usr/local/bin for f in *; do case "$(readlink "$f")" in /usr/local/texlive/*) rm "$f" ;; esac done Resposta
 Com zsh: 
rm -f /usr/local/bin(@e"{[[ $REPLY:P = /usr/local/texlive/* ]]}")  $REPLY:P resolve totalmente o caminho para um sem links simbólicos, então assumindo que /usr/local/texlive é livre de links simbólicos. , removeria todos os arquivos que, após a resolução do link simbólico, residem em /usr/local/textlive que incluiria links para /usr/local/texlive/foo, mas também para ../texlive/bar ou para /usr/./local/texlive/whatever ou /some/other/symlink que é um link simbólico apontando para /usr/local/texlive, etc. 
Resposta
Vá para o caminho seu e defina você mesmo a configuração do caminho
ls -alh|grep "your-pattern-to-file-or-folder-for-symlink"| awk "{print $9}"|xargs rm -rf Comentários
-  Como esses são caminhos como usr/local/binquegrepestá procurando,grep -Eé o caminho a percorrer. Caso contrário, não haveria resultados correspondentes. Além disso,hemlsnão ' serve a qualquer propósito aqui!-h, --human-readable : with -l, print sizes in human readable format (e.g., 1K 234M 2G). Para obter mais informações, consulteman lsouman grep
Resposta
 sudo unlink /path/of/your/package 
É isso
Comentários
- Como isso remove todos os links simbólicos que apontam para destinos abaixo do caminho fornecido? Observe que a pergunta pergunta sobre a remoção dos links simbólicos em um diretório específico que aponta para destinos em algum outro diretório.