Si tu crées un lien dur avec ln (sans l’option -s) ou cp -l, c’est juste un deuxième inode, tout-à-fait similaire au premier, qui pointe vers les mêmes données.
Correction: il n'y a qu'un seul inode, c'est lui le point d'entrée vers les données (tu peux vérifier avec ls -i qui te donne le numéro de l'inode).
Ensuite, il peut y avoir un certain nombre de noms (dans n'importe quel répertoire du même système de fichier) qui pointent vers cet inode.
L'inode lui-même contient un compteur(1) du nombre de liens physique qui pointent vers lui.
Supprimer un fichier consiste en fait à supprimer le nom dans le répertoire correspondant et décrémenter le compteur de liens dans l'inode.
Si le compteur tombe à zéro (et que plus aucun programme n'utilise l'inode(2)), alors seulement l'inode, et toutes les donnés associées, sont libérés.
(1) c'est le champ "link count" dans la page de manuel "inode"
(2) c'est pour ça que, dans certains cas (typiquement un fichier de log), l'espace du fichier n'est pas tout de suite rendu
[^] # Re: Liens durs
Posté par wismerhill . En réponse au message création liens symboliques impossible. Évalué à 6.
Correction: il n'y a qu'un seul inode, c'est lui le point d'entrée vers les données (tu peux vérifier avec
ls -iqui te donne le numéro de l'inode).Ensuite, il peut y avoir un certain nombre de noms (dans n'importe quel répertoire du même système de fichier) qui pointent vers cet inode.
L'inode lui-même contient un compteur(1) du nombre de liens physique qui pointent vers lui.
Supprimer un fichier consiste en fait à supprimer le nom dans le répertoire correspondant et décrémenter le compteur de liens dans l'inode.
Si le compteur tombe à zéro (et que plus aucun programme n'utilise l'inode(2)), alors seulement l'inode, et toutes les donnés associées, sont libérés.
(1) c'est le champ "link count" dans la page de manuel "inode"
(2) c'est pour ça que, dans certains cas (typiquement un fichier de log), l'espace du fichier n'est pas tout de suite rendu