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 [15/12/2012 21:07]
martin_mtl [Créer le répertoire de montage]
doc:systeme:ln [21/03/2015 07:10]
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 : [[:​url-invalide|C'​est ici]]((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME
  
-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 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 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 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 67: 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 76: 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 82: 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 186: 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 244: 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 268: 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 372: 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
  
-===== 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.txt · Dernière modification: 28/01/2021 09:34 par Croutons

Pied de page des forums

Propulsé par FluxBB