J'ai fait un lien symbolique avec la commande suivante:
ln -s ../test5
Je veux l'enlever maintenant mais ma société é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)
linux
bash
symbolic-link
Peter Smit
la source
la source
rm -r link/
supprime le contenu sur la cibleRéponses:
Supprimer la barre oblique finale:
Avec invite:
Sans invite:
la source
permission denied
.test5/
est incorrect.Essayez
rm test5
(sans la barre d'entraînement).
La barre oblique indique que 'test5' est un répertoire, alors qu’il s’agit en fait d’un fichier reliant un répertoire.
la source
Vous pouvez exécuter la suppression de la barre oblique finale:
Cela supprimera le fichier (c.-à-d. Le lien symbolique).
Sinon, vous pouvez utiliser unlink:
Encore une fois, vous devez omettre la barre oblique finale car vous essayez de dissocier le lien symbolique et non le répertoire.
la source
Parfois, si vous utilisez la fonction de saisie semi-automatique pour nommer le lien que vous souhaitez supprimer, il se peut que la barre oblique ne s'affiche pas à la fin du slash, mais qu'elle soit "à moitié" et que la barre oblique invisible génère toujours l'erreur de suppression lorsque vous essayez de supprimer ce lien.
Donc, dans ce cas, tapez caractère par caractère le lien à supprimer comme "test5" comme par exemple.
rm test5
.la source
Le problème dans le PO est la fuite
/
,test5/
lance donc une erreur maistest5
fonctionne.Je préfère utiliser
unlink
plutôt querm
mon intention est plus claire et il n'y a aucune chance de supprimer par erreur le répertoire réel au lieu du lien. Assurez-vous qu’il n’ya pas de fin/
après le nom du répertoire, par exemple:la source
Je me sens stupide de demander, mais avez-vous essayé
rm -r
? Comme il s’agit d’un lien symbolique, il ne faut pas supprimer la cible.Edit: juste essayé, 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 le soupçonne pas, il génère des erreurs. Il suffit d'utiliser rm -r
la source