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 | ||
doc:systeme:ln [11/08/2024 22:16] agp91 [Les liens physiques (hardlink)] Corrections apporté au sous-sections [Occupation sur le disque], [Répertoires et lien physique] et [Suppression des fichiers] |
doc:systeme:ln [14/08/2024 17:38] (Version actuelle) agp91 [Les liens physiques (hardlink) ] : Corrections de code |
||
---|---|---|---|
Ligne 655: | Ligne 655: | ||
\\ | \\ | ||
L'identifiant d'un inode est unique, uniquement dans le système de fichier au quel il appartient.\\ | L'identifiant d'un inode est unique, uniquement dans le système de fichier au quel il appartient.\\ | ||
- | Puisqu'il ne peut être unique dans d'autres systèmes de fichier, un nom ne peut pas être lié à l'inode d'un fichier, situé dans un autre système de fichier.</note> | + | Puisque l'identifiant d'un inode n'est unique que dans son système de fichier (il peut exister dans un autre système de fichier), un nom ne peut donc être lié à l'inode d'un autre système de fichier.</note> |
Commençons par créer un fichier de départ vide, ''test2.txt'' : | Commençons par créer un fichier de départ vide, ''test2.txt'' : | ||
Ligne 676: | Ligne 676: | ||
<code user> | <code user> | ||
ln test2.txt lien2.txt | ln test2.txt lien2.txt | ||
- | ls -lv | + | ls -l |
</code><code> | </code><code> | ||
total 0 | total 0 | ||
Ligne 770: | Ligne 770: | ||
</code> | </code> | ||
- | Bien que ces fichiers ont une taille de 32 octets chacun (c'est indiqué dans le 5em champ),\\ | + | Ces fichiers ont une taille de 32 octets chacun (c'est indiqué dans le 5em champ),\\ |
- | Ils occuperaient donc dans le système de fichier, chacun un bloc.\\ | + | Selon ''ls'', ils occuperaient chacun un bloc (de 4 K octets), qu'elle additionne.\\ |
- | Soit ici, chacun 4 K octets (4096 octets). Mais c'est erroné !\\ | + | |
- | + | ||
- | La commande ''ls'' additionne les deux fichiers liés.\\ | + | |
C'est ce que montre ''ls -lsh'' : | C'est ce que montre ''ls -lsh'' : | ||
Ligne 784: | Ligne 781: | ||
4,0K -rw-r--r-- 2 martin martin 32 déc 15 13:52 test2.txt | 4,0K -rw-r--r-- 2 martin martin 32 déc 15 13:52 test2.txt | ||
</code> | </code> | ||
- | Ainsi que la commande ''stat'' (d'écrite plus haut à la section [[#creer-un-lien-symbolique|Créer un lien symbolique]]), qui avec l'option ''-c'' permet de définir les informations retournées. Voici d'autre formats supportés : | + | |
+ | Il en va de même avec la commande ''stat'' (d'écrite plus haut à la section [[#creer-un-lien-symbolique|Créer un lien symbolique]]), qui avec l'option ''-c'' permet de définir les informations retournées.\\ | ||
+ | Voici d'autres formats supportés : | ||
* ''%b'' indique le nombre de bloc utilisé par un fichier. | * ''%b'' indique le nombre de bloc utilisé par un fichier. | ||
Ligne 798: | Ligne 797: | ||
La commande ''stat'' utilise par défaut des blocs de 512 octets.\\ | La commande ''stat'' utilise par défaut des blocs de 512 octets.\\ | ||
- | Comme 8x512=4096 (soit 4K octets), cela correspond aux tailles retournées par la commande ''ls''. | + | 8x512 = 4096 (soit 4K octets), cela correspond aux tailles retournées par la commande ''ls''. |
Mais cela est évidement erroné,\\ | Mais cela est évidement erroné,\\ | ||
- | Puisque ''lien2.txt'' et ''test2.txt'', sont des noms (chemins) différents, qui mènent au même fichier stocké dans le système de fichier (sur le disque). | + | Puisque ''lien2.txt'' et ''test2.txt'', sont des noms (chemins) différents, qui mènent au même fichier (inode) stocké dans le système de fichier (sur le disque). |
<note tip> | <note tip> | ||
Ligne 884: | Ligne 883: | ||
</code><code> | </code><code> | ||
8667149 4 lien2.txt | 8667149 4 lien2.txt | ||
- | 8695636 2 rep | + | 8695636 2 rep1 |
8667149 4 test2.txt | 8667149 4 test2.txt | ||
8667149 4 rep1/lien2.txt | 8667149 4 rep1/lien2.txt | ||
Ligne 936: | Ligne 935: | ||
<code user> | <code user> | ||
- | stat -c "%i %h %n" rep1 rep1/. rep1/.. . | + | stat -c "%i %h %n" rep1 rep1/. rep1/.. . ~/test_lien |
</code><code> | </code><code> | ||
8695636 2 rep1 | 8695636 2 rep1 | ||
Ligne 942: | Ligne 941: | ||
8695247 3 rep1/.. | 8695247 3 rep1/.. | ||
8695247 3 . | 8695247 3 . | ||
+ | 8695247 3 /home/martin/test_lien | ||
</code> | </code> | ||
Ligne 947: | Ligne 947: | ||
* ''rep1'' et ''rep1/.'' ont le même inode. | * ''rep1'' et ''rep1/.'' ont le même inode. | ||
- | * ''.'' (''test_lien'') et ''rep1/..'' ont le même inode. | + | * ''.'', ''test_lien'' et ''rep1/..'' ont le même inode. |
- | Ainsi un répertoire est lié physiquement 2 fois.\\ | + | Ainsi un répertoire est lié physiquement 2 fois : Par son nom et par le fichier ''.'' qu'il contient.\\ |
- | Plus un (+1) lien physique pour chacun de répertoires fils (sous-répertoires) qu'il contient. | + | Plus un (+1) lien physique par répertoire fils (sous-répertoire) qu'il contient. |
- | Par exemple, s'il est ajouté 4 autres répertoires (cela en fera cinq), le répertoire ''test_lien'' sera lié 7 fois : | + | Par exemple, s'il est ajouté 4 autres répertoires au répertoire ''test_lien'' (cela lui fera cinq sous-répertoires), il sera alors lié 7 fois : |
<code user> | <code user> | ||
Ligne 988: | Ligne 988: | ||
<code user> | <code user> | ||
- | rm -r rep1 | + | rm -rv rep1 |
</code><code> | </code><code> | ||
'rep1/lien2.txt' supprimé | 'rep1/lien2.txt' supprimé | ||
Ligne 997: | Ligne 997: | ||
<code user> | <code user> | ||
ls -li | ls -li | ||
- | </code></code> | + | </code><code> |
total 8 | 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 | ||
Ligne 1014: | Ligne 1014: | ||
Comme dit le captnfab dans sa relecture : \\ | Comme dit le captnfab dans sa relecture : \\ | ||
- | Il est à remarquer que le chiffre indiquant le nombre de fichier lié est passé à ''1'' car il n'y a plus d'autre fichier lié.\ | + | Il est à remarquer que le chiffre indiquant le nombre de fichier lié est passé à ''1'' car il n'y a plus d'autre fichier lié.\\ |
(Il ne reste plus qu'un seul nom lié à l'inode du fichier). | (Il ne reste plus qu'un seul nom lié à l'inode du fichier). | ||