Liens physiques, liens symboliques et inodes

Les inodes

Dans le système de fichiers de Linux, chaque fichier a un numéro d’identification que l’on appelle numéro d’inode. Ce numéro permet d’identifier l’inode du fichier, qui est une structure de données contenant des informations à propos d’un fichier (mais pas le contenu du fichier). Ces informations concernent le fichier, son propriétaire, ses permissions, etc.

Les inodes sont uniques et dépendants du périphérique sur lequel ils sont situés.

Les noms de fichiers pointent donc sur des inodes et les inodes contiennent les informations nécessaires à la récupération du contenu du fichier.

Les liens

GNU/Linux permet d’établir deux types de liens entre les fichiers : des liens physiques et des liens symboliques.

Un lien physique permet de faire en sorte que deux noms de fichiers différents pointent sur le même inode. Si on modifie un fichier, l’autre fichier sera modifié aussi (puisque les deux noms de fichiers pointent sur le même inode). Si on supprime un des deux fichiers, l’autre, en revanche, ne sera pas supprimé.

La commande pour créer un lien physique est ln.

Attention : on ne peut pas créer de lien physique sur un répertoire.

Un lien symbolique crée un lien vers un nom de fichier, et non vers son inode. En conséquence, si l’on détruit le fichier, le lien pointe “dans le vide”.

En fait, les liens symboliques ressemblent aux raccourcis que l’on peux créer sous Windows. Si on supprime le raccourci, le fichier n’est pas supprimé pour autant. Par contre, si on supprime le fichier, alors le raccourci ne fonctionnera plus, bien que ce dernier existe toujours.

La commande pour créer un lien symbolique est ln -s.