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 [23/03/2011 15:03]
smolski
doc:systeme:ln [15/12/2012 06:00]
martin_mtl [Créer un lien physique]
Ligne 26: Ligne 26:
 == Les liens symboliques (symlink) == == Les liens symboliques (symlink) ==
  
-Les liens symboliques (symlink) peuvent lier+Les liens symboliques (symlink) peuvent lier :
  
   * des fichiers   * des fichiers
Ligne 38: Ligne 38:
 == Les liens physiques (hardlink) == == Les liens physiques (hardlink) ==
  
-Les liens physiques (hardlink) ne peuvent lier+Les liens physiques (hardlink) ne peuvent lier :
  
   - que des fichiers   - que des fichiers
-  - et que dans le même système de fichier ​(une partition par exemple, ou un même systeme ​de fichier ​en reseau...),+  - 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 fichier).+car ils sont eux gérés au niveau du FS (File System = Système de fichiers).
  
 **Nota :** \\ **Nota :** \\
Ligne 54: Ligne 54:
 Débutant - À savoir : Débutant - À savoir :
  
-  * [[commande:​mkdir | La commande MKDIR]] 
-  * [[commande:​cd | La commande CD]] 
-  * [[commande:​touch | La commande TOUCH]] 
-  * [[commande:​echo | La commande ECHO]] 
-  * [[commande:​cat | La commande CAT]] 
   * [[commande:>​ | La commande chevron ">"​]]   * [[commande:>​ | La commande chevron ">"​]]
-  * [[commande:​echo | La commande ECHO]] 
   * [[commande:​ls | La commande LS]]   * [[commande:​ls | La commande LS]]
   * [[commande:​rm | La commande RM]]   * [[commande:​rm | La commande RM]]
Ligne 66: Ligne 60:
   * [[commande:​mv | La commande MV]]   * [[commande:​mv | La commande MV]]
   * [[commande:​pwd | La commande PWD]]   * [[commande:​pwd | La commande PWD]]
-  * [[commande:​editeur:nano | La commande d'​édition NANO]]+  * [[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 73: Ligne 67:
 ==== 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''​// et s'y positionner :+
  
    $ cd ~    $ cd ~
Ligne 83: Ligne 76:
    ​test_lien$    ​test_lien$
  
-Créer dans ce répertoire ​deux fichier **test1.txt** rempli de la ligne //Bonjour toto// ​et test2.txt 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 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 :
  
    ​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>​
  
-//**l**rwxrwxrwx 1 votre_user votre_user ​ **8** jun 21 07:23 lien1.txt **-> test1.txt**//+Attardons-nous un peu sur la ligne : 
 +**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
-  - **8** indique l'​occupation réelle du fichier sur le disque+  - **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 130: 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 148: 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 162: 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 174: 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 187: 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 : +<​del> ​ - 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</​del>​
  
 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 : ====
Ligne 235: Ligne 236:
 === Modification des droits d'un fichier symbole === === Modification des droits d'un fichier symbole ===
  
-En terminal root, exécutez ​la commande :+Situation de départ : 
 +<​code>​ 
 +martin@madebian:​~/​test_lien$ ls -l 
 +total 4 
 +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 
 +</​code>​ 
 + 
 +En terminal root, changez les droits sur le fichier avec la commande ​[[commande:​chmod|chmod]] ​:
    ​test_lien#​ chmod 700 lien1.txt    ​test_lien#​ chmod 700 lien1.txt
 +
 +On obtient alors :
  
 <​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 23:00 lien1.txt -> test1.txt 
-rw- --- --- 1 votre_user votre_user ​13 jun 21 07:22 test1.txt +-rwx------ 1 martin martin ​13 déc 14 22:59 test1.txt
-- rw- r-- r-- 1 votre_user votre_user 0 jun 21 07:22 test2.txt+
 </​code>​ </​code>​
  
-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 : 
-''​l **rwx rwx rwx** votre_user votre_user ​ ​9 ​jun 21 07:23 lien1.txt -> test1.txt''​+  ​lrwxrwxrwx ​martin martin ​ ​9 ​déc 14 23:00 lien1.txt -> test1.txt
  
-et que le fichier cible ''​test1.txt''​ s'en trouve directement rectifié par cette commande exécuter sur le fichier symbole ''​lien1.txt''​ : \\ +et que le fichier cible ''​test1.txt''​ s'en trouve directement rectifié par cette commande exécuter sur le fichier symbole ''​lien1.txt''​ : 
-''​**rw- --- ---** votre_user votre_user ​13 jun 21 07:22 test1.txt''​+  rwx------ 1 martin martin ​13 déc 14 22:59 test1.txt
  
 ==== Créer un lien physique (hardlink) : ==== ==== Créer un lien physique (hardlink) : ====
Ligne 262: Ligne 272:
 ==== Créer un lien physique ==== ==== Créer un lien physique ====
  
-Supprimons ​les fichiers liés symboliquement :+Commençons par supprimer ​les fichiers liés symboliquement ​et créer un fichier de départ vide, test2, ​:
    ​test_lien$ rm *1.txt    ​test_lien$ rm *1.txt
 +   touch test2.txt
  
 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>​
-test_lien$ ln test2.txt lien2.txt +martin@madebian:​~/​test_lien$ ln test2.txt lien2.txt 
-test_lien$ ls -l +martin@madebian:​~/​test_lien$ ls -l 
-total 2 +total 0 
-- rw- r-- r-- 2 admijoel admijoel  ​jun 21 11:04 lien2.txt +-rw-r--r-- 2 martin martin ​déc 14 23:56 lien2.txt 
-- rw- r-- r-- 2 admijoel admijoel  ​jun 21 11:04 test2.txt+-rw-r--r-- 2 martin martin ​déc 14 23:56 test2.txt
 </​code>​ </​code>​
  
Ligne 375: Ligne 386:
  
 Créer le répertoire ''​stock''​ : Créer le répertoire ''​stock''​ :
-        # mkdir /​media/​stock+<code bash> 
 +mkdir /​media/​stock</​code>​
  
 Vérifier la création du répertoire stock et les droits d'​accès : Vérifier la création du répertoire stock et les droits d'​accès :
-<​code>​ +<​code ​bash
-ls -l /media+ls -l /media
         total 8         total 8
-        drwxr-xr-x 2 root root 4096 jan 12 19:18 stock+        drwxr-xr-x 2 root root 4096 jan 12 19:18 stock</​code>​
  
-Éditer le fichier /etc/fstab avec [[NANO]] : +Éditer le fichier /etc/fstab avec [[manuel:​nano|Nano]] : 
-        # ​nano /etc/fstab+<code bash> 
 +nano /etc/fstab</​code>​
  
 Aller par les flèches du clavier sur /media/sda5 et remplacer sda5 par stock soit : Aller par les flèches du clavier sur /media/sda5 et remplacer sda5 par stock soit :
-        ​/​dev/​sda5 ​  /​media/​sda5 ​     ext3       ​defaults ​        ​0 ​            2+<​code>​ 
 +/​dev/​sda5 ​  /​media/​sda5 ​     ext3       ​defaults ​        ​0 ​            2</​code>​
  
 devient : devient :
-        ​/​dev/​sda5 ​  /​media/​stock ​     ext3      defaults ​        ​0 ​            2+<​code>​ 
 +/​dev/​sda5 ​  /​media/​stock ​     ext3      defaults ​        ​0 ​            2</​code>​
  
 Enregistrez et quittez. Enregistrez et quittez.
Ligne 429: Ligne 444:
  
 Démonter la partition à lier : Démonter la partition à lier :
-   # ​umount /dev/sda5+<code bash> 
 +umount /dev/sda5</​code>​
  
 Vérifier que /media/sda5 n'est plus monté: Vérifier que /media/sda5 n'est plus monté:
-   # ​ls /​media/​sda5 +<code bash> 
-   total 0+ls /​media/​sda5 
 +   total 0</​code>​
  
 === Créer le nouveau répertoire symblink === === Créer le nouveau répertoire symblink ===
  
-        # rmdir /media/sda5 (cela détruit le répertoire vide sda5) +<code bash> 
-        # ​ln -s /​media/​stock /media/sda5 (cela créé le répertoire stock en mettant un lien +rmdir /media/sda5 (cela détruit le répertoire vide sda5)</​code>​ 
-symbolique entre l'​ancien répertoire sda5 et le nouveau répertoire stock)+<code bash> 
 +ln -s /​media/​stock /media/sda5 (cela créé le répertoire stock en mettant un lien 
 +symbolique entre l'​ancien répertoire sda5 et le nouveau répertoire stock)</​code>​
  
 === Remonter la partition === === Remonter la partition ===
  
 Pour réactiver la partition sda5. Pour réactiver la partition sda5.
-        # mount /dev/sda5 +<code bash>mount /dev/sda5</​code>​ 
-        # ​ls -l /media+<code bash>ls -l /media</​code>​
  
 === Tester === === Tester ===
doc/systeme/ln.txt · Dernière modification: 04/07/2024 19:29 par agp91

Pied de page des forums

Propulsé par FluxBB