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
doc:systeme:ln [15/12/2012 21:07]
martin_mtl [Créer le répertoire de montage]
doc:systeme:ln [28/01/2021 09:34] (Version actuelle)
Croutons [Illustration pratique]
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 !))
  
-La commande ''​ln''​ établit un lien symbolique ou un lien physique entre 2 fichiers ​ou répertoires créés ou ajoutés.+=====Introduction===== 
 +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 36:
  
  
-===== 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 contenusDe mêmela suppression d'un fichier n'​affectera pas l'​autre.
-\\ +
----- +
-\\ +
-== Les liens physiques (hardlink) == +
- +
-Les liens physiques (hardlink) ne peuvent lier : +
- +
-  - que des fichiers +
-  - et que dans le même système de fichiers (une partition par exemple, ou 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 51: Ligne 55:
  
 ===== 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 67: 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</​code>​ 
-   ​Bonjour Jojo+<file config retour de la commande>​Bonjour Jojo</​file>​
  
 ==== 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 -rw-r--r-- 1 martin martin 13 déc 14 22:02 test1.txt -rw-r--r-- 1 martin martin 13 déc 14 22:02 test1.txt
-</code>+</file>
  
 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:05 lien1.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:05 lien1.txt -> test1.txt
 -rw-r--r-- 1 martin martin 13 déc 14 22:02 test1.txt -rw-r--r-- 1 martin martin 13 déc 14 22:02 test1.txt
-</code>+</file>
  
 Attardons-nous un peu sur la ligne : Attardons-nous un peu sur la ligne :
Ligne 124: 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</​code> ​ 
-   ​Bonjour toto +<file config retour de la commande>​Bonjour toto 
-   ​Comment vas-tu ?+Comment vas-tu ?</​file>​
  
-   test_lien$ cat test1.txt  +<code user>test_lien$ cat test1.txt</​code> ​ 
-   ​Bonjour toto +<file config retour de la commande>​Bonjour toto 
-   ​Comment vas-tu ?+Comment vas-tu ?</​file>​
  
-<​code>​ +<​code ​user
-martin@madebian:​~/​test_lien$ ls -l +martin@madebian:​~/​test_lien$ ls -l</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:05 lien1.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:05 lien1.txt -> test1.txt
 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt
-</code>+</file>
  
 Nous pouvons voir que seul le fichier cible //​test1.txt//​ s'est trouvé modifié, passant de **13** à **30** octets d'​occupation ! Nous pouvons voir que seul le fichier cible //​test1.txt//​ s'est trouvé modifié, passant de **13** à **30** octets d'​occupation !
Ligne 151: 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 8667148 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:05 lien1.txt -> test1.txt 8667148 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:05 lien1.txt -> test1.txt
 8667139 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt 8667139 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt
-</code>+</file>
  
 Cela implique qu'​__il y a bien deux occupations différentes__ sur le disque, avec une occupation qui restera toujours fixe et minimale pour le fichier symbole. :-) Cela implique qu'​__il y a bien deux occupations différentes__ sur le disque, avec une occupation qui restera toujours fixe et minimale pour le fichier symbole. :-)
Ligne 164: 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt
-</code>+</file>
  
 ==== Modification du nom des fichiers liés : ==== ==== Modification du nom des fichiers liés : ====
  
 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:13 lien1.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:13 lien1.txt -> test1.txt
 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt
-</code>+</file>
  
 === 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+<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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:13 lien2.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:13 lien2.txt -> test1.txt
 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt -rw-r--r-- 1 martin martin 30 déc 14 22:08 test1.txt
-</code>+</file>
  
 Tout reste fonctionnel et en place. :-) Tout reste fonctionnel et en place. :-)
  
 <​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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:13 lien1.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 22:13 lien1.txt -> test1.txt
 -rw-r--r-- 1 martin martin 30 déc 14 22:08 test2.txt -rw-r--r-- 1 martin martin 30 déc 14 22:08 test2.txt
-</code>+</file>
  
 //Patatras !// Nous voyons alors que le fichier cible ''​lien1.txt''​ se met en carafe - il devient écrit en rouge dans le terminal bash) dès le //​rafraîchissement//​ du terminal ouvert. //Patatras !// Nous voyons alors que le fichier cible ''​lien1.txt''​ se met en carafe - il devient écrit en rouge dans le terminal bash) dès le //​rafraîchissement//​ du terminal ouvert.
Ligne 223: 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 237: 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 23:00 lien1.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 23:00 lien1.txt -> test1.txt
 -rw-r--r-- 1 martin martin 13 déc 14 22:59 test1.txt -rw-r--r-- 1 martin martin 13 déc 14 22:59 test1.txt
-</code>+</file>
  
-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_lienchmod 700 lien1.txt+<code user>test_lienchmod 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</​code>​ 
-total 4+<file config retour de la commande>​total 4
 lrwxrwxrwx 1 martin martin ​ 9 déc 14 23:00 lien1.txt -> test1.txt lrwxrwxrwx 1 martin martin ​ 9 déc 14 23:00 lien1.txt -> test1.txt
 -rwx------ 1 martin martin 13 déc 14 22:59 test1.txt -rwx------ 1 martin martin 13 déc 14 22:59 test1.txt
-</code>+</file>
  
 Nous voyons que le fichier symbole ''​lien1.txt''​ n'est pas affecté par cette modifications des droits : Nous voyons que le fichier symbole ''​lien1.txt''​ n'est pas affecté par cette modifications des droits :
Ligne 267: Ligne 271:
  
 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 ====
  
 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</​code>​ 
-   ​touch test2.txt+<file config retour de la commande>​touch test2.txt</​file>​
  
 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</​code>​ 
-total 0+<file config retour de la commande>​total 0
 -rw-r--r-- 1 martin martin 0 déc 15 00:02 test2.txt -rw-r--r-- 1 martin martin 0 déc 15 00:02 test2.txt
-</code>+</file>
  
 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</​code>​ 
-martin@madebian:​~/​test_lien$ ls -l +<code user>martin@madebian:​~/​test_lien$ ls -lv</​code>​ 
-total 0+<file config retour de la commande>​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
--rw-r--r-- 2 martin martin 0 déc 15 00:02 test2.txt</​code>+-rw-r--r-- 2 martin martin 0 déc 15 00:02 test2.txt</​file>
  
 Ah ! Plus de lettre "''​l''"​ ni de "//​flèches//"​ pour indiquer le lien physique. \\ Ah ! Plus de lettre "''​l''"​ ni de "//​flèches//"​ pour indiquer le lien physique. \\
Ligne 309: 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</​code>​
  
-martin@madebian:​~/​test_lien$ ls -l +<code user>martin@madebian:​~/​test_lien$ ls -l</​code>​ 
-total 8+<file config retour de la commande>​total 8
 -rw-r--r-- 2 martin martin 18 déc 15 13:49 lien2.txt -rw-r--r-- 2 martin martin 18 déc 15 13:49 lien2.txt
--rw-r--r-- 2 martin martin 18 déc 15 13:49 test2.txt+-rw-r--r-- 2 martin martin 18 déc 15 13:49 test2.txt</​file>​
  
-martin@madebian:​~/​test_lien$ cat test2.txt +<code user>martin@madebian:​~/​test_lien$ cat test2.txt</​code>​ 
-Très bien titi !+<file config retour de la commande>​Très bien titi !</​file>​
  
-martin@madebian:​~/​test_lien$ echo Et toi Jojo ? >> test2.txt+<code user>martin@madebian:​~/​test_lien$ echo Et toi Jojo ? >> test2.txt</​code>​
  
-martin@madebian:​~/​test_lien$ cat lien2.txt +<code user>martin@madebian:​~/​test_lien$ cat lien2.txt</​code>​ 
-Très bien titi ! +<file config retour de la commande>​Très bien titi ! 
-Et toi Jojo ?+Et toi Jojo ?</​file>​
  
-martin@madebian:​~/​test_lien$ ls -l +<code user>martin@madebian:​~/​test_lien$ ls -l</​code>​ 
-total 8+<file config retour de la commande>​total 8
 -rw-r--r-- 2 martin martin 32 déc 15 13:52 lien2.txt -rw-r--r-- 2 martin martin 32 déc 15 13:52 lien2.txt
 -rw-r--r-- 2 martin martin 32 déc 15 13:52 test2.txt -rw-r--r-- 2 martin martin 32 déc 15 13:52 test2.txt
-</code>+</file>
  
 Toutes les modifications,​ __ajoutées ou retranchées__ dans chacun des fichiers agira de même dans l'​autre. Toutes les modifications,​ __ajoutées ou retranchées__ dans chacun des fichiers agira de même dans l'​autre.
Ligne 337: 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</​code>​ 
-total 8+<file config retour de la commande>​total 8
 8667149 -rw-r--r-- 2 martin martin 32 déc 15 13:52 lien2.txt 8667149 -rw-r--r-- 2 martin martin 32 déc 15 13:52 lien2.txt
 8667149 -rw-r--r-- 2 martin martin 32 déc 15 13:52 test2.txt 8667149 -rw-r--r-- 2 martin martin 32 déc 15 13:52 test2.txt
-</code>+</file>
  
 Ah ! Le même index d'​inode pour les deux fichiers ! Ah ! Le même index d'​inode pour les deux fichiers !
Ligne 353: 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</​code>​
  
-martin@madebian:​~/​test_lien$ ls -l +<code user>martin@madebian:​~/​test_lien$ ls -l</​code>​ 
-total 4+<file config retour de la commande>​total 4
 -rw-r--r-- 1 martin martin 32 déc 15 13:52 lien2.txt -rw-r--r-- 1 martin martin 32 déc 15 13:52 lien2.txt
-</code>+</file>
 Comme dit le captnfab dans sa relecture : \\ Comme dit le captnfab dans sa relecture : \\
 Il est à remarquer que le chiffre ''​2''​ est passé à ''​1''​ car il n'y a plus de second fichier lié. Il est à remarquer que le chiffre ''​2''​ est passé à ''​1''​ car il n'y a plus de second fichier lié.
Ligne 366: 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</​code>​ 
-   ​total 0+<file config retour de la commande>​total 0</​file>​
  
 //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
  
-===== TP01 - Nommer une partition ​===== +===== Conclusion ​=====
- +
-Vous pouvez nommer facilement vos partitions et organiser ainsi votre espace de travail. +
- +
-Situation de départ : vous avez sur votre disque dur une partition /dev/sda5 qui est une partition contenant toutes vos photos de famille et de voyage. Cette partition est indiquée dans votre fichier /etc/fstab. Vous voulez réorganiser un peu les partitions sur votre disque dur et vous aimeriez que cette partition soit plus facilement identifiable pour vous. Pour ce faire, vous voulez que cette partition soit dorénavant nommée /​dev/​photos. +
- +
-<note important>​Attention. Avant de travailler sur une partition se trouvant dans votre fichier /etc/fstab et montée automatiquement au démarrage de votre ordi, il est nécessaire de la démonter avant toute chose.</​note>​ +
- +
-==== Démonter la partition que l'on veut renommer ==== +
- +
-  # umount /dev/sda5 +
- +
-=== Vérifier que /media/sda5 n'est plus monté === +
- +
-<​code>​ +
-ls /​media/​sda5 +
-   total 0 +
-</​code>​ +
- +
-==== Créer le répertoire de montage ==== +
- +
-Créer le répertoire ''​photos''​ : +
-<code bash> +
-# mkdir /​media/​photos +
-</​code>​ +
- +
-Vérifier la création du répertoire stock et les droits d'​accès : +
-<code bash> +
-ls -l /media +
-        total 8 +
-        drwxr-xr-x 2 root root 4096 jan 12 19:18 photos</​code>​ +
- +
-Éditer le fichier /etc/fstab avec [[manuel:​nano|Nano]] : +
-<code bash> +
-# nano /​etc/​fstab +
-</​code>​ +
- +
-Aller par les flèches du clavier sur /media/sda5 et remplacer sda5 par photos soit : +
-<​code>​ +
-/​dev/​sda5 ​  /​media/​sda5 ​     ext3       ​defaults ​        ​0 ​            ​2</​code>​ +
- +
-devient : +
-<​code>​ +
-/​dev/​sda5 ​  /​media/​photos ​     ext3      defaults ​        ​0 ​            ​2</​code>​ +
- +
-Enregistrez et quittez. +
- +
- +
-==== Créer le lien symbolique ==== +
- +
-**Préalable :** +
- +
-Par exemple, si vous aviez utilisé avant : ''​media/​sda5'',​ il est possible que de nombreuses applications aient mémorisé des fichiers créés ou consultés sous le chemin : \\ +
-   ​media/​sda5/​suiteblabla... +
- +
-Plutôt que de modifier tous ces chemins, \\ +
- +
----- +
-\\ +
-//Car un bon //​linuxien//​ est un //​linuxien//​ qui laisse faire la bécane //AU MAXIMUM//. \\ +
-Ça repose et évite les erreurs.//​\\ +
- +
----- +
-\\ +
-En utilisant un lien symbolique, il est heureusement possible de faire en sorte que : +
-   ​media/​sda5/​blabla +
- +
-se traduise, dans notre exemple, systématiquement pour toutes ces applications par : +
-   /​media/​photos/​blabla +
-\\ +
-\\ +
-**Non** ? \\ +
-//Siiii// ! \\ +
-**Alleluia** ! \\ +
-//Dieu m'​tripote.//​ \\ +
-\\ +
-Desprogien, j'​adore ! ;-) +
- +
-=== Démonter la partition === +
- +
-Démonter la partition à lier : +
-<code bash> +
-umount /​dev/​sda5</​code>​ +
- +
-Vérifier que /media/sda5 n'est plus monté: +
-<code bash> +
-ls /​media/​sda5 +
-   total 0</​code>​ +
- +
-=== Créer le nouveau répertoire symblink === +
- +
-<code bash> +
-rmdir /media/sda5 (cela détruit le répertoire vide sda5)</​code>​ +
-<code bash> +
-ln -s /​media/​photos /media/sda5 (cela créé le répertoire stock en mettant un lien +
-symbolique entre l'​ancien répertoire sda5 et le nouveau répertoire photos)</​code>​ +
- +
-=== Remonter la partition === +
- +
-Pour réactiver la partition sda5. +
-<code bash>​mount /​dev/​sda5</​code>​ +
-<code bash>ls -l /​media</​code>​ +
- +
-=== Tester ​===+
  
-Ça marche ? Ouvrez ​un de ces logiciels (Gimp...) nourri avec l'​ancien ​nom ''​sda5''​ pour voir si y r'​trouve pas ses p'tits cailloux ! \\ +Les liens sont utiles si vous souhaitez qu'un fichier apparaisse dans plusieurs répertoires,​ ou sous un nom différent.
-(traduction pour les grands : //Si le chemin se fait correctement...//)+
  
-//​Qu'​esch'​ qu'ça dit ? \\ +Si le fichier a une assez grande taille vous pouvez envisagerau lieu de copier dans un répertoire donnéde créer un lien réduisant ainsi l'utilisation d'​espace disque.
-Et ben moic'est : //**Bye bye**//que j'vous dis !// :-D+
  
 +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.1355602072.txt.gz · Dernière modification: 15/12/2012 21:07 par martin_mtl

Pied de page des forums

Propulsé par FluxBB