Question Comment supprimer un lien symbolique en double


J'ai accidentellement créé un lien vers un dossier dans le même répertoire avec le même nom que le dossier, et je ne sais pas comment le supprimer en toute sécurité sans supprimer le dossier réel.

# ls -l
total 4
lrwxrwxrwx 1 root root   26 Oct  8 19:36 monbodb-linux-x86_64-2.0.2 -> monbodb-linux-x86_64-2.0.2
lrwxrwxrwx 1 root root   27 May 23 14:58 mongo -> mongodb-linux-x86_64-2.0.2/
drwxr-xr-x 4 root root 4096 Oct  8 19:37 mongodb-linux-x86_64-2.0.2

Si j'essaie de dissocier, j'obtiens ce qui suit, ce qui m'inquiète d'essayer de le résumer:

# unlink mongodb-linux-x86_64-2.0.2
unlink: cannot unlink `mongodb-linux-x86_64-2.0.2': Is a directory

Comment puis-je spécifier le lien symbolique pour le supprimer uniquement et non le dossier?


2
2017-10-09 16:24


origine




Réponses:


dissocier monbodb-linux-x86_64-2.0.2

Vous essayez de dissocier le répertoire réel, pas le lien symbolique. Ils ont des noms différents - il est impossible d'avoir deux éléments avec des noms identiques dans le même répertoire.


1
2017-10-09 16:28



Même après avoir lu votre réponse, il m'a fallu une minute pour voir la faute de frappe. Merci de l'avoir souligné, j'ai complètement raté la différence. - Brendan


Pour cela, vous pouvez généralement utiliser le numéro d'inode, qui sera garanti unique.

ls -iF

(obtenir le numéro d'inode du lien symbolique, par exemple 123456)

find . -inum 123456 -exec rm -i {} \;

0
2017-10-09 16:41