Syntaxe :
# lien physique
ln <source> <nom_du_lien>
# lien symblique
ln [-s] <source> <nom_du_lien>
Options | Descriptions |
---|---|
-s |
Option de création d'un lien symbolique. Par défaut le lien est physique |
<source> |
Nom du fichier à partir duquel le lien doit être créé |
<nom_du_lien> |
Nom du lien |
Un lien physique correspond à une autre référence qui pointe sur l'inode d'un fichier existant.
Cette autre référence peut être dans le même répertoire ou dans un autre.
Prenons l'exemple d'un fichier appelé ficsource
dont l'inode est 1542 et auquel on souhaite accéder sous le nom de ficlien
la commande ln ficsource ficlien
donnera un résultat comme ceci :
Il est tout à fait possible de supprimer n'importe quelle référence (n'importe quel fichier lié) sans que les autres soient modifiés.
Ce n'est que lorsque la dernière référence sera supprimée que le fichier le sera également.
Quelques contraintes :
Quelques avantages :
Un lien symbolique consiste à créer un petit fichier (nouvel inode) d'un type spécial dont le contenu correspond à la localisation absolue ou relative du fichier auquel il est lié.
La taille de ce fichier est égale au nombre de caractères dans du chemin du fichier d'origine.
Prenons l'exemple du fichier ficorigine
se trouvant dans /home/Nom_du_user
(inode 1542) pour lequel on souhaite créer un lien symbolique dans /tmp
sous le nom de ficliensym
.
ln -s /home/Nom_du_user/ficorigine /tmp/ficliensym
L'inode du fichier ficliensym
est de 235, sa taille fait un nombre d'octets correspondant aux caractères dans le chemin du fichier d'origine et son type est "i".
Par exemple si le fichier se trouve dans /home/antoine
sa taille sera de 13 octets.
Un accès au contenu d'un lien symbolique implique deux accès consécutifs pour le système.
Un premier accès pour lire le nom du fichier pointé par le lien puis un second pour accéder au fichier pointé et lire les données de celui-ci.
La suppression d'un lien symbolique à l'aide de la commande rm
entraine la destruction du fichier qui contient le nom du fichier pointé mais pas celle du fichier d'origine.
De la même manière, la suppression d'un fichier sur lequel est pointé un lien symbolique n'entraine pas la suppression du lien symbolique. Le lien symbolique existera toujours mais ne pointera simplement sur rien.
Toutefois, le fait de récréer un fichier pointé par ce lien symbolique avec le même nom que le précédent entrainera la réactivation du lien symbolique.
Quelques contraintes :
Quelques avantages :
ls -l
permet de lire très clairement le nom du fichier pointé par le lien.