Dans une partition, tout fichier est identifié par un numéro unique appelé inode.
$ ls -i 3778394 aduf_fbx4_boyaux.pdf 1897482 Bin 3777756 charva.log
On peut voir ici devant chaque fichier son inode. Si deux fichiers avec des noms différents ont le même inode, ce n'est qu'un seul et unique fichier.
Un inode peut etre considéré comme la fiche descriptive d'un fichier contenant :
Il n'y a pas de noms.
Tables de inodes : zone de la partition Unix, de taille fixée (un tableau) hors du formattage de la partition.
$ df -i | head Sys. de fich. Inodes IUtil. ILib. %IUti. Monté sur /dev/sda3 120K 12K 109K 10% / ...
Explications :
Le nombre d'inodes max étant fixés, il ne peut etre changé.
Les répertoires sont aussi des fichiers. Ils se composent d'une liste des nom de fichiers qu'ils contiennent avec leur inodes. Chaque ligne du fichier-répertoire est un couple nom/inode, c'est un lien physique.
$ touch toto $ ls -il toto 3778274 -rw-r--r-- 1 di-s1-04 infoas 0 2006-03-07 17:25 toto $ln toto titi $ls -il titi 3778274 -rw-r--r-- 2 di-s1-04 infoas 0 2006-03-07 17:25 titi
Chaque création d'un lien physique augmente de 1 le nombre de liens noté dans l'inode correspondant.
$ ln toto tata $ ls -il toto 3778274 -rw-r--r-- 3 di-s1-04 infoas 0 2006-03-07 17:25 toto rm titi $ ls -il toto 3778274 -rw-r--r-- 2 di-s1-04 infoas 0 2006-03-07 17:25 toto
On voit bien l'évolution du nombre de liens physiques qui passe de 1 a 2 lors de la création du lien physique de titi, puis à 3 lors de la création du lien physique de tata. La suppression de titi fait repasser le nombre de liens physiques à 2.
rm efface le lien physique, et décrémente le nombre de liens dans l'inode quand ce nombre tombe à 0, le fichier est physiquement effacé et l'inode est libéré.
En plus des liens physiques, il est possible de créer des liens symboliques grace à ln -s. Ce ne sont que des fichiers contenant 'emplacement dans l'arborescence unix, de la cible du lien.