La commande ln
permet de créer des liens entre fichiers. La syntaxe de ln
est :
ln [options] source destination
ln
supporte deux types de liens :
Les liens normaux ne peuvent être utilisés que lorsque la source et la destination sont sur le même système de fichiers.
Considérons un répertoire contenant les fichiers a et b :
-rw-rw-r-- 1 obo obo 2 Sep 14 14:16 a -rw-rw-r-- 1 obo obo 2 Sep 14 14:16 b
Pour que le fichier c
soit équivalent au fichier b
, faites ln c b
. Le contenu du répertoire devient :
-rw-rw-r-- 1 obo obo 2 Sep 14 14:16 a -rw-rw-r-- 2 obo obo 2 Sep 14 14:16 b -rw-rw-r-- 2 obo obo 2 Sep 14 14:16 c
Toute modification à b
se répercute sur c
et inversément. Par exemple, echo -n 12345 >c
aura comme résultat :
-rw-rw-r-- 1 obo obo 2 Sep 14 14:16 a -rw-rw-r-- 2 obo obo 6 Sep 14 14:22 b -rw-rw-r-- 2 obo obo 6 Sep 14 14:22 c
Les fichiers b
et c
ont tous les deux étés modifiés. Si on efface le fichier c
, le fichier b
reste utilisable et inversément.
Les liens symboliques s'obtiennent en utilisant l'option -s
de ln
. Ainsi, ls -s b d
donnera :
-rw-rw-r-- 1 obo obo 2 Sep 14 14:16 a -rw-rw-r-- 2 obo obo 6 Sep 14 14:22 b lrwxrwxrwx 1 obo obo 1 Sep 14 14:16 d -> b
Notez que si on efface le fichier b
, le lien restera.
man ln