Un lien physique n'est rien d'autre qu'un autre nom pour le même inode (nœud du système de fichier, dans lequel se trouvent notamment les données du fichier), si je ne m'abuse. C'est à dire que, si le fichier est lié dans deux répertoires, chacun de ces répertoires contient une entrée pointant vers l'inode en question.
Les liens durs ne peuvent donc par sortir d'un même système de fichier.
Un lien symbolique est un tout petit fichier qui contient des données qui expliquent que c'est un lien qui pointe vers une cible. Cette cible est un chemin d'accès dans l'arborescence Linux. C'est pourquoi, si le fichier cible est déplacé, où si on démarre sur un live-CD qui n'aura pas la même arborescence, le lien se retrouve brisé. En revanche, un lien symbolique peut pointer vers un fichier situé dans un autre système de fichiers.
Un lien symbolique est comparable à un « raccourci » de Windows, en mieux, car il peut être manipulé comme s'il s'agissait du fichier d'origine. Dans le cas d'un répertoire, on peut rentrer dedans comme s'il s'agissait du vrai répertoire, sachant que certains logiciels déréférencient les liens symbolique, comme Zsh (réglé pour le faire) ou Konqueror. Dans ce cas, on peut rentrer dans le lien, mais le logiciel n'est pas dupe et nous envoie dans le vrai répertoire.
Sous Linux, il est à ma connaissance interdit de lier physiquement des répertoires, mais il s'agit là d'une restriction supplémentaire non imposée par POSIX, et non d'une incapacité.
Poste le Sunday 5 February 2006 22:18:08