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 [01/01/2013 23:31]
smolski [Créer un lien physique (hardlink) :]
doc:systeme:ln [13/04/2015 19:28]
milou [LN]
Ligne 1: Ligne 1:
 ====== LN ====== ====== LN ======
 +  * Objet: commande ln
 +  * Niveau requis :​{{tag>​débutant avisé}}
 +  * Commentaires : // Permet de créer des liens physiques ou symboliques //
 +  * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !]] :-)
 +    * [[:​doc:​programmation:​shell:​chevrons | La commande chevron ">"​]]
 +    * [[:​doc:​systeme:​ls | La commande LS]]
 +    * [[:​doc:​systeme:​rm | La commande RM]]
 +    * [[:​doc:​systeme:​droits-unix | Les Droits]]
 +    * [[:​doc:​editeurs:​nano | La commande d'​édition NANO]]
 +  * Suivi : {{tag>​à-compléter}}{{tag>​à-tester}}
 +    * 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.
  
Ligne 22: Ligne 36:
  
  
 +**ATTENTION :** Un lien physique à la particularité de devoir se situer __sur le même système de fichier__ que sa cible !
 ===== Description ===== ===== Description =====
  
Ligne 45: Ligne 60:
 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]] 
-  * [[manuel:nano | La commande d'​édition NANO]]+  * [[:​doc:​editeurs: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 56: Ligne 71:
 ==== 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 ~+<code user>cd ~</​code>​
  
-   ​$ ​mkdir test_lien+<code user>mkdir test_lien</​code>​
  
-   ​$ ​cd test_lien/+<code user>cd test_lien/</​code>​
    ​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+<code user>test_lien$ touch test1.txt</​code>​
  
-   test_lien$ echo Bonjour Jojo > test1.txt ​+<code user>test_lien$ echo Bonjour Jojo > test1.txt</​code> ​
  
-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  +<code user>test_lien$ cat test1.txt 
-   ​Bonjour Jojo+   ​Bonjour Jojo</​code>​
  
 ==== Créer un lien symbolique (symlink) : ==== ==== Créer un lien symbolique (symlink) : ====
  
 Situation de départ : Situation de départ :
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 87: Ligne 102:
 On crée le lien symbolique : On crée le lien symbolique :
  
-   test_lien$ ln -s test1.txt lien1.txt+<code user>test_lien$ ln -s test1.txt lien1.txt</​code>​
  
 Ce qui nous fait maintenant : Ce qui nous fait maintenant :
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 113: Ligne 128:
 ==== Modification du contenu des fichiers liés ==== ==== Modification du contenu des fichiers liés ====
  
-   test_lien$ echo Comment vas-tu ? >> lien1.txt+<code user>test_lien$ echo Comment vas-tu ? >> lien1.txt</​code>​
  
-   test_lien$ cat lien1.txt  +<code user>test_lien$ cat lien1.txt  
-   ​Bonjour toto +Bonjour toto 
-   ​Comment vas-tu ?+Comment vas-tu ?</​code>​
  
-   test_lien$ cat test1.txt  +<code user>test_lien$ cat test1.txt  
-   ​Bonjour toto +Bonjour toto 
-   ​Comment vas-tu ?+Comment vas-tu ?</​code>​
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 140: Ligne 155:
  
 À l'aide de la commande ''​ls -li'',​ nous pouvons voir l'​occupation disque générée par un lien //symlink// en constatant les chiffres indiquant les index respectifs des inodes de chacun des fichiers liés : À l'aide de la commande ''​ls -li'',​ nous pouvons voir l'​occupation disque générée par un lien //symlink// en constatant les chiffres indiquant les index respectifs des inodes de chacun des fichiers liés :
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -li martin@madebian:​~/​test_lien$ ls -li
 total 4 total 4
Ligne 153: Ligne 168:
 L'​effacement du fichier symbole ''​lien1.txt''​ ne détruit ni le contenu, ni l'​apparence du fichier cible ''​test1.txt''​ : L'​effacement du fichier symbole ''​lien1.txt''​ ne détruit ni le contenu, ni l'​apparence du fichier cible ''​test1.txt''​ :
  
-   test_lien$ rm lien1.txt ​+<code user>test_lien$ rm lien1.txt</​code> ​
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 164: Ligne 179:
  
 Recréons le même fichier symbole //​lien1.txt//​ : Recréons le même fichier symbole //​lien1.txt//​ :
-   test_lien$ ln -s test1.txt lien1.txt+<code user>test_lien$ ln -s test1.txt lien1.txt</​code>​
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 175: Ligne 190:
 === Modifier le nom du fichier symbole === === Modifier le nom du fichier symbole ===
  
-Modifions le nom du fichier symbole lien1.txt à l'aide de la [[commande:mv |commande mv]] : +Modifions le nom du fichier symbole lien1.txt à l'aide de la [[:​doc:​systeme:mv |commande mv]] : 
-   ​test_lien$ mv lien1.txt lien2.txt+<code user>test_lien$ mv lien1.txt lien2.txt</​code>​
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 188: Ligne 203:
  
 <​note>​Pour poursuivre cette illustration dans la clarté, remettons le nommage du fichier symbole ''​lien2.txt''​ en ''​lien1.txt''​.</​note>​ <​note>​Pour poursuivre cette illustration dans la clarté, remettons le nommage du fichier symbole ''​lien2.txt''​ en ''​lien1.txt''​.</​note>​
-   test_lien$ mv lien2.txt lien1.txt+<code user>test_lien$ mv lien2.txt lien1.txt</​code>​
  
 === Modifier le nom du fichier cible === === Modifier le nom du fichier cible ===
  
 Modifions le nom du fichier cible ''​test1.txt''​ : Modifions le nom du fichier cible ''​test1.txt''​ :
-   test_lien$ mv test1.txt test2.txt+<code user>test_lien$ mv test1.txt test2.txt</​code>​
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 212: Ligne 227:
  
 Pour la suite du tuto, choisir de remettre le fichier en test1.txt Pour la suite du tuto, choisir de remettre le fichier en test1.txt
-   test_lien$ mv test2.txt test1.txt ​+<code user>test_lien$ mv test2.txt test1.txt</​code> ​
  
 ==== Modifications des droits des fichiers liés : ==== ==== Modifications des droits des fichiers liés : ====
Ligne 226: Ligne 241:
  
 Situation de départ : Situation de départ :
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 233: Ligne 248:
 </​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+<code root>test_lien# chmod 700 lien1.txt</​code>​
  
 On obtient alors : On obtient alors :
  
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
Ligne 262: Ligne 277:
  
 Commençons par supprimer les fichiers liés symboliquement et créer un fichier de départ vide, test2, : Commençons par supprimer les fichiers liés symboliquement et créer un fichier de départ vide, test2, :
-   test_lien$ rm *1.txt +<code user>test_lien$ rm *1.txt 
-   ​touch test2.txt+touch test2.txt</​code>​
  
 Au départ, nous avons donc la situation suivante : Au départ, nous avons donc la situation suivante :
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -l martin@madebian:​~/​test_lien$ ls -l
 total 0 total 0
Ligne 273: Ligne 288:
  
 Pour créer un lien physique, on utilise la commande ''​ln''​ sans l'​option ''​-s''​. Pour créer un lien physique, on utilise la commande ''​ln''​ sans l'​option ''​-s''​.
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ln test2.txt lien2.txt martin@madebian:​~/​test_lien$ ln test2.txt lien2.txt
-martin@madebian:​~/​test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -lv
 total 0 total 0
 -rw-r--r-- 2 martin martin 0 déc 15 00:02 lien2.txt -rw-r--r-- 2 martin martin 0 déc 15 00:02 lien2.txt
Ligne 298: Ligne 313:
  
 Ajoutons du contenu dans l'un puis un second ajout dans l'​autre des fichiers liés //​physiquement//​ en vérifiant les contenus à chaque fois : Ajoutons du contenu dans l'un puis un second ajout dans l'​autre des fichiers liés //​physiquement//​ en vérifiant les contenus à chaque fois :
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ echo Très bien titi ! > lien2.txt martin@madebian:​~/​test_lien$ echo Très bien titi ! > lien2.txt
  
Ligne 326: Ligne 341:
  
 À l'aide de la commande ''​ls -li'',​ nous pouvons voir l'​occupation disque générée par un lien //​hardlink//​ en constatant les chiffres indiquant les index respectifs des inodes de chacun des fichiers liés : À l'aide de la commande ''​ls -li'',​ nous pouvons voir l'​occupation disque générée par un lien //​hardlink//​ en constatant les chiffres indiquant les index respectifs des inodes de chacun des fichiers liés :
-<​code>​+<​code ​user>
 martin@madebian:​~/​test_lien$ ls -li martin@madebian:​~/​test_lien$ ls -li
 total 8 total 8
Ligne 342: Ligne 357:
  
 Suppression du fichier cible ''​test2.txt''​ : Suppression du fichier cible ''​test2.txt''​ :
-<​code>​+<​code ​user>
 test_lien$ rm test2.txt test_lien$ rm test2.txt
  
Ligne 355: Ligne 370:
  
 Pour supprimer définitivement les deux fichiers et leurs contenus, nous devons les effacer tous deux. Pour supprimer définitivement les deux fichiers et leurs contenus, nous devons les effacer tous deux.
-   test_lien$ rm *2.txt+<code user>test_lien$ rm *2.txt</​code>​
  
-   test_lien$ ls -l +<code user>test_lien$ ls -l 
-   ​total 0+total 0</​code>​
  
 //Voilà pour la commande //''​ln''//​ dans tous ses états !// //Voilà pour la commande //''​ln''//​ dans tous ses états !//
doc/systeme/ln.txt · Dernière modification: 28/01/2021 09:34 par Croutons

Pied de page des forums

Propulsé par FluxBB