Question Comment supprimer un lien symbolique vers un répertoire?


J'ai fait un lien symbolique avec la commande suivante:

ln -s ../test5

Je veux le supprimer maintenant mais ma machine échoue:

$ rm -Rf test5/
rm: cannot remove `test5/': Not a directory
$ rm test5/
rm: cannot remove directory `test5/': Is a directory
$ rmdir test5/
rmdir: test5/: Not a directory
$rm -r test5/
rm: cannot remove `test5/': Not a directory

$ls -l
 0 lrwxrwxrwx  1 peter peter    8 Jul 20 15:30 test5 -> ../test5/

Comment puis-je supprimer mon lien symbolique? (Ubuntu 8.10, bash)


91
2017-07-20 12:40


origine


POINTE: rm -r link/ supprime le contenu sur la cible - Gayan Weerakutti


Réponses:


Supprimez la barre oblique:

Avec invite:

$ rm test5

Sans invite:

$ rm -f test5


115
2017-07-20 12:51



Ça dit permission denied. - 1.21 gigawatts
Sans traçage Alors test5/ est incorrect. - pylover


Essayer rm test5
(sans le slash d'entrainement).

La barre oblique indique que "test5" est un répertoire alors qu’il est en fait un fichier mise en relation dans un répertoire.


18
2017-07-20 12:54





Vous pouvez exécuter la suppression de la barre oblique finale:

$ rm test5

Cela supprimera le fichier (c'est-à-dire le lien symbolique).

Sinon, vous pouvez utiliser unlink:

$ unlink test5

Encore une fois, vous devez omettre la barre oblique car vous essayez de dissocier le lien symbolique et non le répertoire.


11
2017-07-20 13:06





Parfois, si vous utilisez la saisie semi-automatique pour nommer le lien que vous souhaitez supprimer, vous ne verrez peut-être pas de barre oblique, mais la barre oblique invisible signale toujours l’erreur de suppression lors de la suppression de ce lien.

Donc, dans ce cas, tapez caractère par caractère le lien à supprimer comme "test5", par exemple. rm test5.


0
2018-02-14 23:23



Jamais entendu parler de slash invisible. Quelle coquille fait cela? - Kamil Maciorowski
Je pense que c'est peut-être une référence au personnage caché par linewrap + cursor? - bertieb


Je me sens idiot de demander, mais avez-vous essayé rm -r? Puisqu'il s'agit d'un lien symbolique, il ne doit pas supprimer la cible.

Edit: Je viens de l'essayer, c'est correct

Edit 2: rmdir indique dans sa première ligne de la page de manuel qu'il supprime les répertoires vides. Je pense que parce que c'est un lien, le bit de répertoire a été vérifié sur ses propriétés de fichier, mais parce que rmdir ne pense pas que ce soit le cas, il crache des erreurs. Utilisez simplement rm -r


-2
2017-07-20 12:42



Cela me demandera de supprimer les fichiers du répertoire, ce n'est pas ce que je veux, je veux supprimer uniquement le lien - Peter Smit
La demande était parce que interactif a été défini dans mon .profile. Ajout de la réponse à rm -r. Cela ne fonctionne toujours pas. - Peter Smit
Vous avez quitté le '/' final qui a échoué - bobby