Menu Fermer

Lien symbolique sur Linux : comment ça marche

Dans la gestion des fichiers de Linux, il existe une fonctionnalité nommée Lien symbolique.
Cela permet de créer un lien (comprenez raccourci) avec un fichier ou un dossier.
Il existe deux types de liens symboliques. De plus, cette fonctionnalité n’étant pas évidente, vous pouvez vous poser quelques questions sur son fonctionnement.

Ce guide vous apprend tout ce qu’il faut savoir sur les liens symboliques dans Linux. Qu’est-ce qu’un lien symbolique et comment cela marche.

Qu'est-ce qu'un lien symbolique sur Linux

Qu’est-ce qu’un lien symbolique sur Linux

Un lien symbolique est un fichier ou dossier de raccourci pour n’importe quel répertoire ou fichier.
Le lien symbolique (symlink) ou le lien souple (soft link) sont les autres noms du lien symbolique.

Dans Linux, les liens symboliques fonctionnent comme une chaîne de caractères qui génère des chemins entre différents fichiers et répertoires. Ces liens sont fréquemment utilisés pour lier des bibliothèques. Ils permettent également de s’assurer que les fichiers existent à des emplacements cohérents.
Les liens symboliques sont utilisés pour stocker de nombreuses copies d’un même fichier à plusieurs endroits tout en faisant référence au même fichier.

Quels sont les types de liens symboliques sur Linux

Le lien souple

Ce type de lien symbolique fait référence à l’emplacement ou au chemin d’accès du fichier d’origine.
Sur Internet, il fonctionne de la même manière qu’un lien hypertexte.
En anglais, il se nomme softlink.

Le lien symbolique souple possède un inode différent que sa cible comme le montre la commande ls ci-dessous.

Qu'est-ce qu'un lien symbolique sur Linux (souple)

De plus, l’utilitaire ls affiche un softlink avec un type link (l) et de couleurs cyan. Enfin la cible est indiquée par une flèche vers la droite.

Qu'est-ce qu'un lien symbolique sur Linux (souple)

Si la cible est renommé, le lien symbolique souple ne fonctionne plus.
Il apparaît alors en rouge et si on tente d’accéder au contenu, on obtient un message d’erreur de fichiers introuvable.

Qu'est-ce qu'un lien symbolique sur Linux (souple)

Le lien physique, matériel ou dur

Un lien dur (en anglais hardlink) fonctionne en générant un nouveau nom de fichier lié aux données de l’inode du fichier original (fichier de référence). Cela équivaut à faire une copie du fichier en question.

Comme le montre la commande ls ci-dessous, le lien symbolique partage le même inode que sa cible.

Qu'est-ce qu'un lien symbolique sur Linux (physique, matériel ou dur)

Comme il s’agit d’un lien direct dans le système de fichiers, si vous modifiez la cible, par exemple, vous renommez le nom. Cela n’affecte pas le lien symbolique qui continue de fonctionner.
En effet, le lien symbolique continue de lire l’information de l’inode qui est mis à jour.
Notez aussi que la commande ls ne l’affiche pas comme un lien symbolique, contrairement au softlink précédent.
Il est donc considéré comme un autre fichier.

Qu'est-ce qu'un lien symbolique sur Linux (physique, matériel ou dur)

En résumé

Cette image résume les principales différences entre ces deux types de liens symboliques dans Linux.

Le lien souple VS Le lien physique ou matériel

Comment créer un lien symbolique sur Linux

Vous pouvez créer un lien symbolique souple ou physique en ligne de commande avec la commande ln.
Cette commande crée des liens en dur par défaut.
Cependant, vous pouvez ajouter l’option -s (–symbolic) si vous souhaitez créer un lien souple.

La syntaxe est la suivante :

ln -s <fichier_source> <lien symbolique>

Il est aussi possible de créer un lien symbolique avec l’explorateur de fichiers Nautilus.
Seules les liens symboliques souples peuvent être créés.
Pour apprendre à le faire, consultez ce guide : Ubuntu : créer lien symbolique