Suivez-nous

Système

Passez la commande (7) : ln

neilime

Publié le

 

Par

terminal.jpg

terminal.jpg Leçon n°7

Il existe en unix la possibilité de créer des liens entre les fichiers : les liens physiques et les liens symboliques.

C’est le numéro inode (voir la leçon n°6) qui permet de réaliser le premier des deux types de lien. Cette possibilité n’est pas offerte par l’interface graphique de Mac OS X. Elle permet d’associer à deux fichiers, le même numéro d’inode : virtuellement, il existe deux fichiers, mais sur le disque, il n’existe qu’un seul emplacement où sont inscrites les données : c’est le lien physique.
Un fichier essai.txt peut être lié physiquement à un fichier essai_lien.txt (pas encore créé) en utilisant la commande suivante dans le Terminal :
– ln essai.txt essai_lien.txt
En utilisant la commande ls -i, on vérifie que les deux fichiers possèdent le même numéro inode. Si l’un des deux fichiers est modifié, l’autre le sera de fait puisqu’ils ne correspondent en fait qu’à un seul emplacement physique en mémoire. Si l’on supprime le fichier essai.txt, le contenu du fichier sera toujours accessible par ouverture du fichier essai_lien.txt.

Un second type de lien entre deux fichiers existe : c’est le lien symbolique. Son concept est repris dans Mac OS X sous le nom d’alias. La création d’un tel lien entraîne la création d’un fichier contenant une référence du fichier lié. La commande associée est une option de la commande ln :
– ln -s essai.txt essai_lien_symb.txt
Dans le Finder, on peut vérifier que le fichier essai_lien.txt est bien du type alias. Mais contrairement au lien physique, si l’on supprime le fichier essai.txt, son contenu ne sera plus accessible, le fichier essai_lien_symb.txt ne contenant plus que l’endroit où était situé essai.txt avant d’être effacé.

Exercice : Créez un dossier dans le Finder et à l’intérieur un fichier essai.txt, rendez-y vous avec la commande cd (voir la leçon n°2) puis liez le fichier de manière symbolique et physique comme vu au dessus. Comment est symbolisé chaque type de lien après utilisation de la commande ls -li ?

Leçon précédente
Leçon suivante