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
Dernière révision Les deux révisions suivantes
doc:systeme:ln [04/07/2024 17:31]
agp91 [Créer un lien symbolique (symlink) :]
doc:systeme:ln [04/07/2024 18:59]
agp91 [ln]
Ligne 11: Ligne 11:
   * Suivi : {{tag>​à-compléter}}{{tag>​à-tester}}   * Suivi : {{tag>​à-compléter}}{{tag>​à-tester}}
     * Création par [[user>​smolski]] le 21/06/2010     * Création par [[user>​smolski]] le 21/06/2010
 +    * Modifié par [[user>​agp91]] le 04/07/2024
     * Testé par .... le ....     * 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 !))   * 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 !))
Ligne 17: Ligne 18:
 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.
  
-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 27: Ligne 25:
 == Lien symbolique : == == Lien symbolique : ==
  
-   ln -s <​fichier_cible>​ <fichier_symbole+   ln -s <​fichier_cible>​ <nom_lien
-   ln -s <​répertoire_cible>​ <répertoire_symbole>​ +   ln -s <​répertoire_cible>​ <nom_lien>
-   ln -s <​point_cible>​ <​point_symbole>+
  
 == Lien physique : == == Lien physique : ==
Ligne 43: Ligne 40:
 == Les liens symboliques (symlink) == == Les liens symboliques (symlink) ==
  
-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é. ​+Un lien symbolique est constitué d'un réel fichier de petite taille ; il contient le nom (chemin) ​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é. ​
  
 == Les liens physiques ou durs (hardlink) == == Les liens physiques ou durs (hardlink) ==
  
-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ême, la suppression d'un fichier n'​affectera pas l'​autre.+Un lien dur associe deux ou plusieurs fichiers à un même espace sur le disque. Ainsi un fichier peut disposer réellement ​de plusieurs noms (chemins)La suppression d'un fichier ​lié physiquement ​n'​affectera pas les autres fichiers qui lui sont liés.
  
 **Nota :** \\ **Nota :** \\
Ligne 54: Ligne 51:
 //Merci de ces remarques habiles au concert de //​**Mahoru`Tsunemi**//​ et de //​**captnfab**//​ sur l'​IRC.//​ //Merci de ces remarques habiles au concert de //​**Mahoru`Tsunemi**//​ et de //​**captnfab**//​ sur l'​IRC.//​
  
-===== Illustration pratique ​=====+===== Préparatifs ​=====
  
 Afin de bien comprendre les principes que nous avons décrits ci-haut, nous allons illustrer tout cela à l'aide de quelques exemples simples. 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 : 
- 
-  *  L'​opérateur de redirection **''​[[:​doc:​programmation:​shell:​chevrons |>​]]''​** (chevron fermant) 
-  * La commande **''​[[:​doc:​systeme:​ls |ls]]''​** 
-  *  La commande **''​[[:​doc:​systeme:​rm |rn]]''​** 
-  * [[:​doc:​systeme:​droits-unix |Les Droits]] 
-  * La commande d'​édition **''​[[:​doc:​editeurs:​nano | 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.// :-) 
- 
- 
-==== 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 [[:​doc:​systeme:​mkdir|mkdir]] et s'y positionner avec [[:​doc:​programmation:​shell:​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]] :
Ligne 93: Ligne 77:
 </​code>​ </​code>​
  
-===== Créer un lien symbolique ​(symlink) : =====+===== Les liens symboliques ​(symlink) : =====
  
 Situation de départ : Situation de départ :
Ligne 100: Ligne 84:
 -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>​ </​code>​
 +
 +==== Créer un lien symbolique ​ ====
  
 On crée le lien symbolique : On crée le lien symbolique :
Ligne 126: Ligne 112:
   * La destruction totale d'un lien symbolique ne détruit rien dans le fichier cible.   * La destruction totale d'un lien symbolique ne détruit rien dans le fichier cible.
  
-==== Modification du contenu ​des fichiers liés ====+==== Modification du contenu ====
  
 <code user> <code user>
Ligne 190: Ligne 176:
 </​code>​ </​code>​
  
- +==== Modification ​du nom d'un lien symbolique ​====
- +
-==== Modification ​d'un nom des fichiers liés : ==== +
- +
-=== Modifier le nom d'un lien symbolique ===+
  
 Modifions le nom du fichier du lien symbolique ''​lien1.txt''​ à l'aide de la [[:​doc:​systeme:​mv |commande mv]] : Modifions le nom du fichier du lien symbolique ''​lien1.txt''​ à l'aide de la [[:​doc:​systeme:​mv |commande mv]] :
Ligne 211: Ligne 193:
 <code user>mv lien2.txt lien1.txt</​code>​ <code user>mv lien2.txt lien1.txt</​code>​
  
-=== Modifier le nom d'un fichier cible ===+==== Modification du nom d'un fichier cible ====
  
 Modifions le nom du fichier cible ''​test1.txt''​ : Modifions le nom du fichier cible ''​test1.txt''​ :
Ligne 237: Ligne 219:
 </​code> ​ </​code> ​
  
-==== Modifications des droits ​des fichiers liés : ====+==== Modifications des droits ​ ====
  
 Depuis le début de cette illustration,​ nous voyons que les droits restent immuablement complets pour le fichier du lien symbolique ''​lien1.txt''​. Depuis le début de cette illustration,​ nous voyons que les droits restent immuablement complets pour le fichier du lien symbolique ''​lien1.txt''​.
Ligne 245: Ligne 227:
 Essayons de les modifier. \\ Essayons de les modifier. \\
 Modifions la propriété du fichier du lien symbolique ''​lien1.txt''​ pour que //root// devienne le propriétaire. Modifions la propriété du fichier du lien symbolique ''​lien1.txt''​ pour que //root// devienne le propriétaire.
- 
-=== Modification des droits d'un lien symbolique === 
  
 Situation de départ : Situation de départ :
Ligne 274: Ligne 254:
   rwx------ 1 martin martin 13 déc 14 22:59 test1.txt   rwx------ 1 martin martin 13 déc 14 22:59 test1.txt
  
-===== Créer un lien physique ​(hardlink) : =====+===== Les liens physiques ​(hardlink) : =====
  
 Un lien physique est la création d'un fichier à l'​identique de celui qu'il pointe. Un lien physique est la création d'un fichier à l'​identique de celui qu'il pointe.
Ligne 296: Ligne 276:
 ls -l ls -l
 </​code><​code>​ </​code><​code>​
-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>​ </​code>​
Ligne 305: Ligne 284:
 ls -lv ls -lv
 </​code><​code>​ </​code><​code>​
-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</​code>​
Ligne 315: Ligne 293:
 Le chiffre ''​1''​ devient ''​2''​ dans la ligne du fichier cible test2.txt : Le chiffre ''​1''​ devient ''​2''​ dans la ligne du fichier cible test2.txt :
  
-Pareillement dans la ligne du fichier symbole physique ​lien2.txt ​créé ​:+Pareillement dans la ligne du ''​lien2.txt'' ​''​-rw-r--r-- **2** martin martin 0 déc 15 00:02 lien2.txt''​
  
-<code> +<note tip>Le second champ retourné par le commande ''​ls ​-l'',​ indique ne nombre de noms (chemins) que dispose un fichier. 
--rw-r--r-- **2** martin martin 0 déc 15 00:02 lien2.txt +\\ 
-</code>+  ​''​1''​ : Quand un fichier n'est pas lié physiquement. 
 +  ​''​2''​ : Indique que ce fichier est lié à un autre fichier. Il dispose alors de 2 noms. 
 +  ​''​3'' ​Indique que ce fichier est lié à deux autres fichiers. Il dispose alors de 3 noms. 
 +  * Etc
 +</note>
  
 Une autre différence est le partage des droits qui sont là __tout à fait identiques__ entre les fichiers liés physiquement. Une autre différence est le partage des droits qui sont là __tout à fait identiques__ entre les fichiers liés physiquement.
  
-==== Modifions le contenu des fichiers ​liés physiquement ​==== +==== Modifications du contenu des fichiers ====
- +
-=== Ajout ===+
  
 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 :
Ligne 354: Ligne 334:
 ls -l ls -l
 </​code><​code>​ </​code><​code>​
-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
Ligne 361: Ligne 340:
 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.
  
-=== Occupation concrète sur le disque ===+==== Occupation concrète sur le disque ​====
  
 À 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 :
Ligne 368: Ligne 347:
 ls -li ls -li
 </​code><​code>​ </​code><​code>​
-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
Ligne 379: Ligne 357:
 //On va pas s'​gêner avec pour les gonfler de données car cela ne doublera pas l'​occupation physique du disque !// :-D //On va pas s'​gêner avec pour les gonfler de données car cela ne doublera pas l'​occupation physique du disque !// :-D
  
-=== Suppression ===+==== Suppression ​des fichiers ====
  
 Suppression du fichier cible ''​test2.txt''​ : Suppression du fichier cible ''​test2.txt''​ :
Ligne 386: Ligne 364:
 ls -l ls -l
 </​code><​code>​ </​code><​code>​
-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>​ </​code>​
Ligne 400: Ligne 377:
 ls -l ls -l
 </​code><​code>​ </​code><​code>​
-total 0 
 </​code>​ </​code>​
  
doc/systeme/ln.txt · Dernière modification: 04/07/2024 19:29 par agp91

Pied de page des forums

Propulsé par FluxBB