-
Aide sur la commande rm
Bonjour,
J'ai un repertoire local de travail dans lequel j'ai fait une copie d'un autre repertoire. Dans cette autre répertoire il y avait des liens, donc ma questions est la suivante si je fais un rm -r du repertoire que j'ai créé est ce que je supprime aussi les liens ou pas ?
-
Ma quuestion serait de savoir ce qu'il se passe pour lien
-
un rm sur un lien efface le lien. Pas le répertoire sur lequel il pointe.
-
À ma connaissance seul les lectures/écritures sur le lien sont renvoyés vers le fichier/répertoire de destination.
Or l'ajout/effacement de fichier équivaut à une écriture dans le dossier qui contient le fichier.
donc rm /rep/lien va effacer le lien car il va juste écrire dans /rep.
-
La commande rm décrémente le nombre de liens. Le fichier ou le répertoire n'est physiquement supprimé que quand le nombre de liens est devenu nul.
D'ailleurs, l'équivalent de rm en appel système est la fonction unlink() ;)
-
joellel, je pense que nous aurions peut-être du préciser si nous parlions de liens symboliques ou physiques.
(cela dit ujoodha aurait du le faire aussi en initiant ce post)
La commande rm fait plus qu'un appel à unlink (il suffit de voir ses options). Par contre la commande unlink, elle, se contente d'appeller unlink.