Détails
Supprimer un lien symbolique vers un répertoire
J'ai un lien symbolique vers un répertoire important. Je veux me débarrasser de ce lien symbolique, tout en gardant le répertoire derrière lui.
J'ai essayé rm
et j'ai obtenu rm : cannot remove 'foo'
.
J'ai essayé rmdir
et j'ai obtenu rmdir : failed to remove 'foo' : Le répertoire n'est pas vide. J'ai ensuite essayé
rm -f,
rm -rfet
sudo rm -rf`.
Puis je suis allé chercher mes sauvegardes.
Existe-t-il un moyen de se débarrasser du lien symbolique sans jeter le bébé avec l'eau du bain ?
1061
3
En fait, vous devez lui dire de supprimer un fichier, pas un répertoire. Je pense que la différence entre
rm
etrmdir
existe à cause de différences dans la façon dont la bibliothèque C traite chacun d'eux.En tout cas, la première devrait fonctionner, tandis que la seconde devrait se plaindre que foo est un répertoire.
Si cela ne fonctionne pas comme ci-dessus, alors vérifiez vos permissions. Vous devez avoir les droits d'écriture sur le répertoire contenant les fichiers pour les supprimer.
Utilisez la commande "unlink" et assurez-vous de ne pas avoir le / à la fin.
Je pense que cela peut être problématique si je le lis correctement.
Si le nom faisait référence à un lien symbolique, le lien est supprimé.
https://linux.die.net/man/2/unlink
Si rm ne peut pas supprimer un lien symbolique, vous devez peut-être examiner les autorisations sur le répertoire qui contient le lien symbolique. Pour supprimer les entrées d'un répertoire, vous devez disposer des droits d'écriture sur le répertoire qui le contient.