GNU/Linux >> Tutoriels Linux >  >> Linux

Différence entre les liens symboliques et les liens physiques sous Linux

Lien symbolique

Un lien symbolique (lien symbolique ou lien symbolique) permet d'associer un fichier à un autre. Il est similaire à un raccourci dans MS Windows où le fichier réel réside quelque part dans la structure du répertoire, mais vous pouvez avoir plusieurs raccourcis ou pointeurs avec des noms différents pointant vers lui. Cela signifie que l'accès au fichier via le nom de fichier réel ou l'un des raccourcis donnerait un résultat identique. Chaque lien symbolique a un numéro d'inode unique.

Un lien symbolique peut traverser les limites du système de fichiers et peut être utilisé pour lier des répertoires.

Pour créer un lien symbolique pour unix-admin en tant que sys-admin dans le même répertoire, utilisez la commande ln avec l'option -s :

$ cd /home/geek/
$ ln -s unix-admin sys-admin

où :

  • unix-admin est un fichier existant
  • sys-admin est lié de manière logicielle à unix-admin

Après avoir créé le lien, lancez ll avec l'option -i. Notez la lettre l comme premier caractère dans la deuxième colonne de la sortie. Notez également une flèche pointant du fichier lié vers le fichier d'origine. Cela indique que sys-admin est simplement un pointeur vers unix-admin. L'option -i affiche les numéros d'inode associés dans la première colonne.

$ ll -i
3674110 lrwxrwxrwx 1 geek geek 10 Jan 12 11:03 sys-admin -> unix-admin
3674109 -rw-rw-r-- 1 geek geek 0 Jan 12 11:03 unix-admin

Si vous supprimez le fichier d'origine (unix-admin dans cet exemple), le lien sys-admin restera mais pointe vers quelque chose qui n'existe pas.

Lien physique

Un lien physique associe deux fichiers ou plus à un numéro d'inode unique . Cela permet aux fichiers d'avoir des autorisations, une propriété, un horodatage et un contenu de fichier identiques. Les modifications apportées à l'un des fichiers sont répercutées sur les autres fichiers liés. Tous les fichiers contiennent en fait des données identiques.

Un lien physique ne peut pas traverser les limites du système de fichiers et ne peut pas être utilisé pour lier des répertoires.

L'exemple suivant utilise la commande ln et crée un lien physique pour le fichier "ubuntu-rocks" situé sous /home/geek vers "debian-os" dans le même répertoire. Notez que le fichier "debian-os" n'existe pas, mais il sera créé.

$ cd /home/geek/
$ ln ubuntu-rocks debian-os

Après avoir créé le lien, exécutez ll avec l'option -i :

$ ll -i
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 debian-os
3674110 -rw-rw-r-- 2 geek geek 40 Jan 12 11:15 ubuntu-rocks

Regardez les première et troisième colonnes. La première colonne indique que les deux fichiers ont des numéros d'inode identiques et la troisième colonne indique que chaque fichier a deux liens physiques. "ubuntu-rocks" pointe vers "debian-os" et vice versa. Si vous supprimez le fichier d'origine (ubuntu-rocks dans cet exemple), vous aurez toujours accès aux données via le fichier lié debian-os.


Linux
  1. Comment créer des liens matériels et symboliques sous Linux

  2. Apprenez la différence entre les commandes "su" et "su -" sous Linux

  3. Liens physiques et liens souples sous Linux expliqués

  4. Que sont les liens symboliques (Soft Links) et comment les créer sous Linux

  5. Différence entre le fichier de périphérique et les pilotes de périphérique

Quelle est la différence entre Linux et Unix ?

Guide pour ajouter des liens symboliques Linux

Expliquer Soft Link et Hard Link sous Linux avec des exemples

La commande ln sous Linux :créer des liens logiciels et matériels

Liens matériels et liens logiciels sous Linux :tout ce que vous devez savoir

différence entre netstat et ss sous linux?