Pour utiliser la commande ln sous Linux de manière judicieuse et ciblée, il faut savoir différencier un lien symbolique d’un lien physique. Les liens symboliques correspondent à des références croisées qui adressent un fichier d’origine avec un chemin de référence. Si vous déplacez ou supprimez le fichier d’origine, l’objet cible n’existe plus et le répertoire se vide. En revanche, si c’est le lien symbolique que vous supprimez, le fichier d’origine est conservé, mais la référence à ce fichier disparaît. Pour ces liens, l’anglais parle de « softlinks » ou de « symlinks » (pour « symbolic links »). Vous pouvez créer des liens symboliques grâce à la commande ln du terminal Linux, mais aussi à partir des fonctionnalités de l’interface utilisateur graphique, par exemple dans le gestionnaire de fichiers Linux. Sur l’interface utilisateur graphique de Linux, les liens symboliques sont représentés par une flèche, également présente sur l’icône du fichier.
Les liens physiques sont créés depuis la ligne de commande. Mieux intégrés à la gestion de mémoire d’un système d’exploitation et aux fichiers spécifiques utilisés que les liens symboliques, ils constituent des entrées de répertoire supplémentaires pour les fichiers d’origine ; différents liens peuvent désigner un même fichier. Linux ne fait aucune distinction technique ou opérationnelle entre le lien d’origine (primaire) et les liens physiques générés ensuite (secondaires). Les entrées du répertoire ont les mêmes droits et fonctionnent en autonomie. Vous pouvez utiliser un lien physique pour accéder à un fichier depuis différents emplacements ; c’est utile pour les sauvegardes.
Voici un exemple caractéristique de leur fonctionnement : un fichier accessible depuis « Mes vidéos » peut être ouvert depuis « Mes vidéos sauvegardées » avec un lien physique. En supprimant le fichier d’origine de « Mes vidéos », seule la référence principale au fichier vidéo disparaît, mais il s’ouvre toujours en parallèle (avec le lien renvoyant au fichier dans « Mes vidéos sauvegardées »). Avec les liens physiques, toute note ajoutée à la gestion de mémoire ne prend pas le double de place. Ce sont des options d’accès (avec des chemins vers le fichier), non des copies physiques complètes.
Sous Linux, les liens physiques sont associés à un système de compatibilité interne spécifique. Chaque lien désigne un inode (nœud d’index). Un numéro d’inode distinctif et unique lui est attribué, ainsi qu’au fichier d’origine. Un fichier n’est supprimé de la gestion des inodes (et du système) que si les entrées (l’ensemble des références au fichier) sont invalidées par des suppressions et que le compteur de liens internes repart de zéro. Si une entrée est supprimée ou si le fichier est transféré vers un autre répertoire, rien ne change. Les options restantes dans l’inode permettant d’accéder au fichier d’origine restent valides.