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 03:22]
martin_mtl [Créer un lien symbolique (symlink) :]
doc:systeme:ln [15/12/2012 04:58]
martin_mtl [Modification du nom des fichiers liés :]
Ligne 76: Ligne 76:
    ​test_lien$    ​test_lien$
  
-Créer dans ce répertoire ​deux fichiers ​vides, //test1.txt// et //test2.txt//, avec [[commande:​touch|touch]],​ puis ajouter ​le texte //Bonjour toto// ​dans le premier ​avec [[commande:​echo|echo]] ​; le fichier test2.txt est laissé vide :+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]].
  
-   ​test_lien$ touch test1.txt test2.txt +   ​test_lien$ touch test1.txt
  
-   ​test_lien$ echo Bonjour ​toto > 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 [[commande:​cat|cat]] que notre texte est bien écrit dans le fichier test1.txt :
  
    ​test_lien$ cat test1.txt ​    ​test_lien$ cat test1.txt ​
-   ​Bonjour ​toto+   ​Bonjour ​Jojo
  
 ==== Créer un lien symbolique (symlink) : ==== ==== Créer un lien symbolique (symlink) : ====
 +
 +Situation de départ :
 +<​code>​
 +martin@madebian:​~/​test_lien$ ls -l
 +total 4
 +-rw-r--r-- 1 martin martin 13 déc 14 22:02 test1.txt
 +</​code>​
 +
 +On crée le lien symbolique :
  
    ​test_lien$ ln -s test1.txt lien1.txt    ​test_lien$ ln -s test1.txt lien1.txt
  
-Visualisez le résultat ​:+Ce qui nous fait maintenant ​:
  
 <​code>​ <​code>​
-test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
-lrwxrwxrwx 1 votre_user votre_user ​ ​9 ​jun 21 07:23 lien1.txt -> test1.txt +lrwxrwxrwx 1 martin martin ​ ​9 ​déc 14 22:05 lien1.txt -> test1.txt 
-- rw- r-- r-- 1 votre_user votre_user ​13 jun 21 07:22 test1.txt +-rw-r--r-- 1 martin martin ​13 déc 14 22:02 test1.txt
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt+
 </​code>​ </​code>​
  
 Attardons-nous un peu sur la ligne : Attardons-nous un peu sur la ligne :
-**l**rwxrwxrwx 1 votre_user votre_user ​ ​9 ​jun 21 07:23 lien1.txt **->** test1.txt+**l**rwxrwxrwx 1 martin martin ​ **9** déc 14 22:05 lien1.txt **->** test1.txt
  
   - **l** indique un lien symbolique sur ce fichier   - **l** indique un lien symbolique sur ce fichier
 +  - **9** indique l'​occupation réelle du fichier sur le disque
   - **-> test1.txt** indique le fichier pointé par le lien symbolique   - **-> test1.txt** indique le fichier pointé par le lien symbolique
  
-Nous pouvons en déduire ​:+Précisons aussi que :
  
   * Un //fichier symbole// créé avec la commande ''​ln''​ ne contient pas l'​occupation disque affichée qui est contenue dans le fichier cible.   * Un //fichier symbole// créé avec la commande ''​ln''​ ne contient pas l'​occupation disque affichée qui est contenue dans le fichier cible.
Ligne 126: Ligne 135:
  
 <​code>​ <​code>​
-test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
-lrwxrwxrwx 1 votre_user votre_user ​ **9** jun 21 07:23 lien1.txt -> test1.txt +lrwxrwxrwx 1 martin martin ​ ​9 ​déc 14 22:05 lien1.txt -> test1.txt 
-- rw- r-- r-- 1 votre_user votre_user **30** jun 21 07:22 test1.txt +-rw-r--r-- 1 martin martin ​30 déc 14 22:08 test1.txt
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt+
 </​code>​ </​code>​
  
Ligne 144: Ligne 152:
 À 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>​
-test_lien$ ls -li +martin@madebian:​~/​test_lien$ ls -li 
-604494 - rw- r-- r-- 2 admijoel admijoel ​ 32 jun 21 11:04 lien2.txt +total 4 
-604493 ​- rw- r-- r-- 2 admijoel admijoel ​ 32 jun 21 11:04 test2.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
 </​code>​ </​code>​
  
Ligne 158: Ligne 167:
  
 <​code>​ <​code>​
-test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
-- rw- r-- r-- 1 votre_user votre_user **30** jun 21 07:22 test1.txt +-rw-r--r-- 1 martin martin ​30 déc 14 22:08 test1.txt
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt+
 </​code>​ </​code>​
  
Ligne 170: Ligne 178:
  
 <​code>​ <​code>​
-test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
-l rwx rwx rwx votre_user votre_user ​ **9** jun 21 07:23 lien1.txt -> test1.txt +lrwxrwxrwx ​martin martin ​ ​9 ​déc 14 22:13 lien1.txt -> test1.txt 
-- rw- r-- r-- 1 votre_user votre_user **30** jun 21 07:22 test1.txt +-rw-r--r-- 1 martin martin ​30 déc 14 22:08 test1.txt
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt+
 </​code>​ </​code>​
  
Ligne 183: Ligne 190:
  
 <​code>​ <​code>​
-test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
-l rwx rwx rwx votre_user votre_user ​ **9** jun 21 07:23 lien2.txt -> test1.txt +lrwxrwxrwx ​martin martin ​ ​9 ​déc 14 22:13 lien2.txt -> test1.txt 
-- rw- r-- r-- 1 votre_user votre_user **30** jun 21 07:22 test1.txt +-rw-r--r-- 1 martin martin ​30 déc 14 22:08 test1.txt
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt+
 </​code>​ </​code>​
  
 Tout reste fonctionnel et en place. :-) Tout reste fonctionnel et en place. :-)
  
-<​note>​Pour ​pousuivre ​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    ​test_lien$ mv lien2.txt lien1.txt
  
 === Modifier le nom du fichier cible === === Modifier le nom du fichier cible ===
  
-Modifions le nommage ​du fichier cible ''​test1.txt''​ : +Modifions le nom du fichier cible ''​test1.txt''​ : 
-   ​test_lien$ mv test1.txt ​test3.txt+   ​test_lien$ mv test1.txt ​test2.txt
  
 <​code>​ <​code>​
-test_lien$ ls -l+martin@madebian:​~/​test_lien$ ls -l
 total 4 total 4
-lrwxrwxrwx 1 votre_user votre_user ​ **9** jun 21 07:23 <del>lien1.txt</​del> ​-> <del>​test1.txt</​del>​ +lrwxrwxrwx 1 martin martin ​ ​9 ​déc 14 22:13 lien1.txt -> test1.txt 
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt +-rw-r--r-- 1 martin martin 30 déc 14 22:08 test2.txt
-- rw- r-- r-- 1 votre_user votre_user **30** jun 21 07:22 test3.txt+
 </​code>​ </​code>​
  
-//Patatras !// Nous voyons alors que le fichier cible ''​lien1.txt''​ se met en carafe ​(surligné et 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.
  
 Il suffit : Il suffit :
-  - de renommer le fichier cible ''​test3.txt''​ en ''​test1.txt'',​ +  - de renommer le fichier cible ''​test2.txt''​ en ''​test1.txt'',​ 
-  - ou bien de recréer le fichier symbole ''​lien1.txt''​ en le pointant sur le fichier cible ''​test3.txt''​ par reformulation de la commande : +  - ou bien de recréer le fichier symbole ''​lien1.txt''​ en le pointant sur le fichier cible ''​test2.txt''​ par reformulation de la commande : 
-   ​test_lien$ ln -s test3.txt lien1.txt+   ​test_lien$ ln -s test2.txt lien1.txt
  
 Et tout redevient effectif. Et tout redevient effectif.
  
 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 test3.txt test1.txt ​+   ​test_lien$ mv test2.txt test1.txt ​
  
 ==== Modifications des droits des fichiers liés : ==== ==== Modifications des droits des fichiers liés : ====
doc/systeme/ln.txt · Dernière modification: 04/07/2024 19:29 par agp91

Pied de page des forums

Propulsé par FluxBB