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 [04/07/2024 17:47]
agp91 [Créer un lien physique (hardlink) :]
doc:systeme:ln [04/07/2024 18:45]
agp91 [Les liens physiques (hardlink) :]
Ligne 17: Ligne 17:
 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 24:
 == 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 39:
 == 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 50:
 //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 76:
 </​code>​ </​code>​
  
-===== Créer un lien symbolique ​(symlink) : =====+===== Les liens symboliques ​(symlink) : =====
  
 Situation de départ : Situation de départ :
Ligne 100: Ligne 83:
 -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 111:
   * 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 175:
 </​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 192:
 <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 218:
 </​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 226:
 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 253:
   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 313: Ligne 292:
 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 352: Ligne 333:
 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 359: Ligne 339:
 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 366: Ligne 346:
 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 377: Ligne 356:
 //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 384: Ligne 363:
 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 398: Ligne 376:
 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