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 →
Ci-dessous, les différences entre deux révisions de la page.
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:08] agp91 [Créer un lien symbolique (symlink) :] |
||
---|---|---|---|
Ligne 54: | Ligne 54: | ||
//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 80: | ||
</code> | </code> | ||
- | ===== Créer un lien symbolique (symlink) : ===== | + | ===== Les liens symboliques (symlink) : ===== |
Situation de départ : | Situation de départ : | ||
Ligne 100: | Ligne 87: | ||
-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 115: | ||
* 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 179: | ||
</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 196: | ||
<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 222: | ||
</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 230: | ||
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 257: | ||
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 296: | ||
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> | + | |
- | -rw-r--r-- **2** martin martin 0 déc 15 00:02 lien2.txt | + | |
- | </code> | + | |
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 329: | ||
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 335: | ||
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 342: | ||
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 352: | ||
//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 359: | ||
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 372: | ||
ls -l | ls -l | ||
</code><code> | </code><code> | ||
- | total 0 | ||
</code> | </code> | ||