logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
doc:systeme:ln [16/12/2012 01:37]
martin_mtl [LN]
doc:systeme:ln [21/03/2015 07:14]
enicar [LN]
Ligne 1: Ligne 1:
 ====== LN ====== ====== LN ======
 +  * Objet: commande ln
 +  * Niveau requis :​{{tag>​débutant avisé}}
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
 +  * Commentaires : // Permet de créer des liens physiques ou symboliques //
 +  * Suivi : {{tag>​à-compléter}}
 +    * Création par [[user>​smolski]] le 21/06/2010
 +    * Testé par .... le ....
 +  * Commentaires sur le forum : [[http://​debian-facile.org/​viewtopic.php?​pid=113446|C'​est ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
 +=====Introduction=====
 La commande ''​ln''​ établit un lien symbolique ou un lien physique entre 2 fichiers. La commande ''​ln''​ établit un lien symbolique ou un lien physique entre 2 fichiers.
  
 Son utilisation correspond à une redirection **active** entre deux //​fichiers// ​ désignés. \\ Son utilisation correspond à une redirection **active** entre deux //​fichiers// ​ désignés. \\
  
-Les modifications opérées //​sur/​dans//​ l'un sont visibles immédiatement depuis l'un ou l'​autre des fichiers liés.+Les modifications opérées //​sur/​dans//​ l'un sont visibles immédiatement depuis l'un ou l'​autre des fichiers liés. Autrement dit, un lien est un type spécial de fichier qui permet à plusieurs noms de fichiers de faire référence au même contenu sur un disque.
  
 ===== Synopsis ===== ===== Synopsis =====
Ligne 22: Ligne 31:
  
  
-===== Remarque Importante ​=====+**ATTENTION :** Un lien physique à la particularité de devoir se situer __sur le même système de fichier__ que sa cible ! 
 +===== Description ​===== 
 + 
 +On distingue 2 sortes de lien : les liens durs et les liens symboliques.
  
 == Les liens symboliques (symlink) == == Les liens symboliques (symlink) ==
  
-Les liens symboliques (symlink) peuvent lier :+Un lien symbolique est constitué d'un réel fichier de petite taille ; il contient le nom du fichier auquel il correspond. Par conséquent,​ la suppression du fichier d'​origine,​ c'​est-à-dire la cible du lien, rendra le lien symbolique inutilisable puisqu'​il ne correspondra plus à un fichier valide ; le lien sera alors brisé. ​
  
-  * des fichiers +== Les liens physiques ou durs (hardlink) ==
-  * des répertoires +
-  * et tout ce qui se nomment...+
  
-entre des systèmes différents,​ car ils sont gérés au niveau de l'OS (Operating System = Système d'​exploitation = Linux ici). +Un lien dur associe deux ou plusieurs fichiers à un même espace sur le disque tout en préservant leurs indépendances lors de modifications de leurs contenus. ​De même, ​la suppression d'un fichier n'​affectera pas l'​autre.
-\\ +
----- +
-\\ +
-== Les liens physiques (hardlink) == +
- +
-Un lien dur associe deux ou plusieurs fichiers à un même espace sur le disque tout en préservant leurs indépendances lors de modifications de leurs contenus. +
- +
-Les liens physiques (hardlink) ne peuvent lier : +
- +
-  - que des fichiers +
-  - et que dans le même système de fichiers (une partition par exempleou un même système de fichiers en réseau...),​ +
- +
-car ils sont eux gérés au niveau du FS (File System = Système de fichiers).+
  
 **Nota :** \\ **Nota :** \\
Ligne 53: Ligne 50:
  
 ===== Illustration pratique ===== ===== Illustration pratique =====
 +
 +Afin de bien comprendre les principes que nous avons décrits ci-haut, nous allons illustrer tout cela à l'aide de quelques exemples simples.
  
 Débutant - À savoir : Débutant - À savoir :
  
-  * [[commande:| La commande chevron ">"​]] +  * [[:doc:​programmation:​shell:​chevrons ​| La commande chevron ">"​]] 
-  * [[commande:ls | La commande LS]] +  * [[:​doc:​systeme:ls | La commande LS]] 
-  * [[commande:rm | La commande RM]] +  * [[:​doc:​systeme:rm | La commande RM]] 
-  * [[commande:a_savoir ​| Les Droits]] +  * [[:doc:​systeme:​droits-unix ​| Les Droits]] 
-  * [[commande:mv | La commande MV]] +  * [[:doc:editeurs:nano | La commande d'​édition NANO]]
-  * [[commande:pwd | La commande PWD]] +
-  * [[manuel:nano | La commande d'​édition NANO]]+
  
 //Et oui, tout ça cher Débutant ! Il reste que la plupart de ces commandes sont les commandes en ligne principales __usuelles__ à utiliser dans un terminal.// :-) //Et oui, tout ça cher Débutant ! Il reste que la plupart de ces commandes sont les commandes en ligne principales __usuelles__ à utiliser dans un terminal.// :-)
Ligne 69: Ligne 66:
 ==== Créer les répertoires et fichiers tests que nous allons utiliser ==== ==== Créer les répertoires et fichiers tests que nous allons utiliser ====
  
-Dans ''/​home/​votre_user/'',​ créez un répertoire nommé //​test_lien//​ avec [[commande:​mkdir|mkdir]] et s'y positionner avec [[commande:cd | cd]] :+Dans ''/​home/​votre_user/'',​ créez un répertoire nommé //​test_lien//​ avec [[:​doc:​systeme:​mkdir|mkdir]] et s'y positionner avec [[:​doc:​programmation:​shell:cd | cd]] :
  
    $ cd ~    $ cd ~
Ligne 78: Ligne 75:
    ​test_lien$    ​test_lien$
  
-Créer dans ce répertoire un fichiers vide, //​test1.txt//,​ avec [[commande:​touch|touch]],​ puis ajoutez-y le texte //Bonjour toto// avec la commande [[commande:​echo|echo]].+Créer dans ce répertoire un fichiers vide, //​test1.txt//,​ avec [[:​doc:​systeme:​touch|touch]],​ puis ajoutez-y le texte //Bonjour toto// avec la commande [[:​doc:​systeme:​echo|echo]].
  
    ​test_lien$ touch test1.txt    ​test_lien$ touch test1.txt
Ligne 84: Ligne 81:
    ​test_lien$ echo Bonjour Jojo > test1.txt ​    ​test_lien$ echo Bonjour Jojo > test1.txt ​
  
-On vérifie avec la commande [[commande:cat|cat]] que notre texte est bien écrit dans le fichier test1.txt :+On vérifie avec la commande [[:​doc:​systeme:cat|cat]] que notre texte est bien écrit dans le fichier test1.txt :
  
    ​test_lien$ cat test1.txt ​    ​test_lien$ cat test1.txt ​
Ligne 188: Ligne 185:
 === Modifier le nom du fichier symbole === === Modifier le nom du fichier symbole ===
  
-Modifions le nom du fichier symbole lien1.txt :+Modifions le nom du fichier symbole lien1.txt ​à l'aide de la [[:​doc:​systeme:​mv |commande mv]] :
    ​test_lien$ mv lien1.txt lien2.txt    ​test_lien$ mv lien1.txt lien2.txt
  
Ligne 246: Ligne 243:
 </​code>​ </​code>​
  
-En terminal root, changez les droits sur le fichier avec la commande [[commande:​chmod|chmod]] :+En terminal root, changez les droits sur le fichier avec la commande [[:​doc:​systeme:​chmod|chmod]] :
    ​test_lien#​ chmod 700 lien1.txt    ​test_lien#​ chmod 700 lien1.txt
  
Ligne 270: Ligne 267:
 Mais outre d'​évoluer à l'​identique,​ comme avec un lien symbolique, les deux fichiers se nourrissent mutuellement et concrètement de toutes les modifications apportées à l'un ou à l'​autre. Mais outre d'​évoluer à l'​identique,​ comme avec un lien symbolique, les deux fichiers se nourrissent mutuellement et concrètement de toutes les modifications apportées à l'un ou à l'​autre.
  
-<note important>​**ATTENTION :** Un lien physique à la particularité de devoir se situer __sur le même système de fichier__ que sa cible !</​note>​ 
  
 +<note important>​**ATTENTION :** Un lien physique à la particularité de devoir se situer __sur le même système de fichier__ que sa cible !</​note>​
 ==== Créer un lien physique ==== ==== Créer un lien physique ====
  
Ligne 374: Ligne 371:
  
 //Voilà pour la commande //''​ln''//​ dans tous ses états !// //Voilà pour la commande //''​ln''//​ dans tous ses états !//
- 
 \\ \\
 \\ \\
- 
 //Merci au //​**captnfab**//​ pour sa bienveillante et rigolote attention !// :-D //Merci au //​**captnfab**//​ pour sa bienveillante et rigolote attention !// :-D
  
 +===== Conclusion =====
 +
 +Les liens sont utiles si vous souhaitez qu'un fichier apparaisse dans plusieurs répertoires,​ ou sous un nom différent.
 +
 +Si le fichier a une assez grande taille vous pouvez envisager, au lieu de copier dans un répertoire donné, de créer un lien réduisant ainsi l'​utilisation d'​espace disque.
 +
 +Autre point très intéressant,​ créer des liens, au lieu de copier les fichiers, assure que toute modification dans un fichier se retrouvera bien dans les « copies » dispersées un peu partout.
  
doc/systeme/ln.txt · Dernière modification: 28/01/2021 09:34 par Croutons

Pied de page des forums

Propulsé par FluxBB