Une entrée d’un répertoire permettant l’accès à un élément via son inode s’appelle un lien (référence ou chemin d’accès) et Unix permet la création de liens multiples sur un même élément. Chaque création d’un lien (avec la commande ln) consiste à ajouter une entrée dans un répertoire avec le même numéro d’inode, et un autre nom ou le même nom (possible uniquement si répertoires différents). Dans l’inode, le compteur de lien qui vaut un à la création du fichier est incrémenté d’une unité à chaque nouveau lien.

Dans l’arborescence, l’opération de création d’un lien physique fait apparaître une nouvelle entrée. Dans notre exemple, comme indiqué dans la figure suivante, la nouvelle entrée est créée dans un autre répertoire. La non-copie des blocs de données se voit notamment par les numéros d’inode identiques.

Figures/fichier_arbo_lien_phys

Il y a plusieurs raisons d’utiliser des liens. Un premier usage permet d’utiliser un nom local donc plus court pour référencer un élément. Ici, le lien joue le rôle d’alias et il évite une frappe longue, ce qui diminue le risque d’erreur. Les liens servent aussi à définir différents noms logiques pour un même élément. Par exemple, un administrateur qui représente ses partitions par des noms logiques n’a que des liens à modifier lorsqu’il veut changer un disque et toutes ses procédures (démarrage, sauvegarde...) continuent à être opérationnelles si elles utilisent les noms logiques. Ce type de lien présente deux limitations. Tout d’abord, on ne peut pas établir de liens entre systèmes de fichiers différents, chacun ayant une gestion séparée des numéros d’inodes. Ensuite, on ne peut pas non plus établir un lien physique sur un répertoire. La version BSD a introduit la notion de lien symbolique, en vue de supprimer ces deux limitations.  
 
Retour à la page de cours