Maîtriser les liens symboliques et physiques sous Linux avec ln
Apprenez à créer, lire et sécuriser liens symboliques et liens physiques sous Linux avec ln, permissions, casse et bonnes pratiques.

- Difficulté
- Facile
Un lien symbolique est un raccourci vers un chemin, alors qu’un lien physique est un second nom pour le même fichier sur le disque. Pour les distinguer sans vous tromper, retenez ceci : le lien symbolique peut casser si sa cible bouge, tandis que le lien physique reste valide tant qu’au moins un nom du fichier existe.
Ce guide montre comment créer ces liens avec ln, les lire avec ls -l, comprendre l’effet des permissions et éviter les cas qui cassent le plus souvent : mauvais chemin, mauvais répertoire, casse incorrecte et tentative de lien physique là où Linux ne l’autorise pas.
Prérequis
Vous avez accès à un terminal Linux et aux commandes ln, ls, stat et readlink. Les exemples supposent un shell courant comme Bash et un système de fichiers sensible à la casse, ce qui est le comportement habituel sous Linux.
Matériel nécessaire
- Un terminal Linux
- La commande ln
- Les commandes ls, stat et readlink
Étapes
Créer un fichier de test
Commencez dans un dossier vide pour voir clairement ce qui se passe. Créez un fichier simple avec :
mkdir -p ~/demo-liens cd ~/demo-liens echo "bonjour" > original.txtCréer un lien symbolique

Créez un lien symbolique avec
ln -s cible lien. Par exemple :ln -s original.txt raccourci.txtIci,
raccourci.txtne contient pas les données du fichier : il mémorise le cheminoriginal.txt.Créer un lien physique

Créez un lien physique avec
ln cible lien, sans-s. Exemple :ln original.txt copie-liee.txtCette fois,
original.txtetcopie-liee.txtdésignent le même contenu sur le disque. Modifier l’un modifie ce que vous lirez via l’autre.Lire les liens avec ls -l
Affichez le dossier avec :
ls -lUn lien symbolique apparaît avec un
lau début des permissions et une flèche, par exempleraccourci.txt -> original.txt. Les liens physiques, eux, ressemblent à des fichiers ordinaires.Vérifier la cible réelle
Utilisez
readlinkpour lire ce qu’un lien symbolique contient, puisstatpour comparer les métadonnées. Essayez :readlink raccourci.txt stat original.txt stat copie-liee.txt stat raccourci.txtSi
original.txtetcopie-liee.txtont le même inode, vous avez bien un lien physique. Avec le lien symbolique,readlinkmontre surtout le chemin enregistré.Tester l’effet des permissions
Affichez d’abord les permissions avec :
ls -l original.txt raccourci.txt copie-liee.txtPour l’accès au contenu, ce sont surtout les permissions du fichier cible qui comptent. Si vous retirez la lecture sur
original.txt, lire via le lien symbolique ou le lien physique sera également affecté.chmod u-r original.txt ls -l original.txt raccourci.txt copie-liee.txtDéplacer la cible pour repérer un lien cassé

Renommez maintenant le fichier original :
mv original.txt original-renomme.txt ls -lLe lien symbolique
raccourci.txtdevient cassé, car il pointe encore versoriginal.txt. Le lien physiquecopie-liee.txt, lui, reste lisible, car il désigne toujours le même contenu.Choisir un chemin absolu ou relatif
Créez deux liens symboliques pour comparer. Depuis
~/demo-liens, essayez :ln -s /home/$USER/demo-liens/original-renomme.txt absolu.txt ln -s original-renomme.txt relatif.txtLe lien absolu reste correct si vous lisez le lien depuis n’importe où, tant que la cible ne change pas d’emplacement. Le lien relatif est souvent plus robuste quand vous déplacez ensemble tout un dossier vers un autre emplacement.
Respecter la casse des noms
Sous Linux,
Fichier.txtetfichier.txtsont généralement deux noms différents. Testez-le avec :ln -s Original-Renomme.txt mauvais-lien.txt ls -l mauvais-lien.txt cat mauvais-lien.txtSi le vrai fichier s’appelle
original-renomme.txt, ce lien sera cassé. Une simple différence de majuscule ou de minuscule suffit.Remplacer un lien proprement
Quand un lien existe déjà, ne forcez pas sans vérifier. Contrôlez d’abord la cible actuelle avec
ls -loureadlink, puis recréez le lien si besoin :rm raccourci.txt ln -s original-renomme.txt raccourci.txtCette méthode est simple et explicite pour un débutant. Elle évite d’écraser par erreur un vrai fichier qui porterait le même nom que le lien attendu.
Erreurs fréquentes & dépannage
Confondre cible et nom du lien est l’erreur la plus fréquente avec ln. La syntaxe reste ln source destination pour un lien physique, et ln -s cible lien pour un lien symbolique.
Oublier le répertoire courant casse souvent les liens symboliques relatifs. Si vous créez un lien depuis un autre dossier, le chemin relatif est interprété depuis l’emplacement du lien, pas depuis l’endroit où vous pensez être arrivé ensuite.
Créer un lien physique entre deux systèmes de fichiers ne fonctionne pas. Si ln échoue dans ce cas, utilisez plutôt un lien symbolique ou copiez le fichier selon votre besoin.
Diagnostiquer un faux problème de permissions fait perdre du temps. Quand un lien symbolique ne marche pas, vérifiez d’abord que la cible existe encore et que sa casse est exacte.
Astuces & pour aller plus loin
Utilisez readlink pour les liens symboliques cassés. C’est souvent la commande la plus rapide pour voir le chemin enregistré et repérer une faute de nom.
Utilisez stat pour confirmer un lien physique. Si deux fichiers ont le même inode, ils pointent vers le même contenu.
Préférez les liens relatifs dans un dossier de projet déplacé en bloc. Préférez les liens absolus quand vous voulez viser un emplacement fixe du système.
Questions fréquentes
Comment savoir rapidement si un fichier est un lien symbolique ?
Utilisez ls -l. Si la première lettre des permissions est l et qu’une flèche -> apparaît, c’est un lien symbolique.
Pourquoi mon lien symbolique existe mais ne fonctionne pas ?
Le cas le plus courant est une cible déplacée, supprimée ou mal orthographiée. Vérifiez le chemin avec readlink, puis comparez-le au vrai nom du fichier avec ls.
Puis-je créer un lien physique vers un dossier ?
En pratique, non pour un usage courant sous Linux. Les liens physiques servent surtout pour des fichiers sur le même système de fichiers.
Supprimer un lien physique supprime-t-il le contenu ?
Supprimer un seul nom ne supprime pas forcément les données. Le contenu reste accessible tant qu’au moins un autre lien vers ce fichier existe.
Conclusion
Pour débuter sans erreur, retenez une règle simple : choisissez un lien symbolique si vous avez besoin d’un raccourci souple vers un chemin, et un lien physique si vous avez besoin d’un second nom pour le même fichier sur le même système de fichiers. Avant d’accuser les permissions, vérifiez toujours la cible réelle, la casse du nom et le type de lien avec ls -l, readlink et stat.