Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/12/2016, à 22:21

Sehnani

La relation entre le nombre total des blocks et les liens

j'aimerais savoir la relation entre le nombre total des blocks "Total" et les liens , et pouquoi on reçoit un total de 2 quand on crée un nouveau directory alors qu'on crée un nouveau fichier on obtient un total de 1

Hors ligne

#2 Le 21/12/2016, à 12:55

DonutMan75

Re : La relation entre le nombre total des blocks et les liens

Bonjour Sehnani,
le nombre de lien représente le nombre d'entrées de répertoire (les "noms de fichiers") qui pointent vers un fichier physique donné (ou "inode").
Un même fichier physique peut avoir plusieurs entrées de répertoire qui pointent sur lui (ce sont les fameux "liens physiques")

Quand je créé le fichier "tata" dans le répertoire "toto" (par exemple en faisant un "touch tata"), Ubuntu va :
- créer physiquement un fichier d'inode donné (mettons "18425127")
- ajouter une entrée dans la table de répertoire de "toto" du style "toto contient le fichier tata qui pointe vers l'inode 18425127"

Voici ce que ça donne :

$ touch tata
$ ls -li
total 0
18425127 -rw-r--r--  1 donut  staff  0 21 déc 11:40 tata

Détaillons un peu tout ça :
- ls donne une présentation détaillée des fichiers (option -l) ainsi que les inodes associés (option -i)
- le premier nombre retourné (ici 18425127), c'est l'inode du fichier
- ensuite viennent les droits
- et enfin le nombre de lien (ici 1)

Bon donc jusque là tout va bien.....

Maintenant créons le répertoire titi (toujours dans "toto") et regardons ce qu'il se passe :

$ mkdir titi
$ ls -li
total 0
18425127 -rw-r--r--  1 donut  staff   0 21 déc 11:40 tata
18425208 drwxr-xr-x  2 donut  staff  68 21 déc 11:47 titi

On voit bien que le nombre de liens de titi est de deux !

Quand je crée un répertoire, voici ce que Ubuntu fait :
- création d'un fichier physique de type répertoire et d'inode donné (ici 18425208)
- ajout d'une entrée dans la table de répertoire de "toto" du style "toto contient le fichier titi qui pointe vers l'inode 18425208"
- ajout d'une entrée dans la table de répertoire de "titi" du style "titi contient le fichier '.' qui pointe vers l'inode 18425208"
- ajout d'une entrée dans la table de répertoire de "titi" du style "titi contient le fichier '..' qui pointe vers l'inode de toto"

En regardant les lignes 2 et 3 ci-dessus on comprend alors pourquoi le nombre de liens d'un répertoire est toujours d'au moins deux.
On peut même généraliser : via la création automatique des répertoires '..', on peut dire que le nombre de lien minimal d'un répertoire donné est directement lié au nombre de sous-répertoire qu'il contient !

En revanche, il n'y a aucune corrélation entre nombre de blocks (la taille physique d'un fichier) et le nombre de lien (nombre de façons différentes d'accéder à ce fichier).

En espérant avoir été clair... N'hésite pas si tu as une question smile

Bonne journée,

Donut.

Hors ligne

#3 Le 21/12/2016, à 15:21

Sehnani

Re : La relation entre le nombre total des blocks et les liens

Merci pour votre réponse , c'est bon j'ai compris ce que j'ai voulais savoir smile Merci encore et bonne journée à vous.

Hors ligne