Maison  >  Article  >  Opération et maintenance  >  Que signifie le numéro de nœud Linux i-node ?

Que signifie le numéro de nœud Linux i-node ?

青灯夜游
青灯夜游original
2023-03-30 11:49:202436parcourir

Sous Linux, le numéro i-node fait référence au numéro inode, qui est utilisé pour identifier différents fichiers. Linux utilise en interne les numéros d'inodes pour identifier les fichiers, pas les noms de fichiers. Pour le système, les noms de fichiers sont un autre nom pour les numéros d'inodes, ce qui permet aux utilisateurs d'identifier les fichiers. Il existe une correspondance biunivoque entre les noms de fichiers et les numéros d'inodes. , et chaque numéro d'inode correspond à un nom de fichier.

Que signifie le numéro de nœud Linux i-node ?

L'environnement d'exploitation de ce tutoriel : système linux7.3, ordinateur Dell G3.

1. i node sous Linux

Sous Linux, i node fait référence au nœud inode.

Sous Linux, la recherche de fichiers ne se fait pas par nom de fichier. En fait, la recherche et le positionnement des fichiers se font via i nœuds. Nous pouvons visualiser le nœud i comme un pointeur fip. Lorsqu'un fichier est stocké sur le disque, le fichier sera certainement stocké dans un emplacement du disque. Vous pouvez imaginer que puisque les données du fichier sont stockées sur le disque, si nous connaissons l'adresse des données du fichier, quand nous voulons lire et lire. écrire le fichier À ce stade, pouvons-nous simplement utiliser cette adresse pour trouver le fichier ?

Oui, sous Linux, l'i-node peut en fait être considéré comme ceci. L'i-node est considéré comme une adresse pointant vers la zone de stockage de fichiers sur le disque. C'est juste que nous ne pouvons généralement pas utiliser cette adresse directement, mais l'utilisons indirectement via le nom du fichier. En fait, le nœud i contient non seulement l'adresse de la zone de stockage des données du fichier, mais contient également de nombreuses informations, telles que la taille des données et d'autres informations sur le fichier. Mais le nœud i n'enregistre pas le nom du fichier. Le nom du fichier est enregistré dans une entrée du répertoire. Chaque entrée du répertoire contient le nom du fichier et l'i-node.

Nous pouvons utiliser un diagramme pour voir la relation entre les éléments du répertoire, les nœuds i et les données du fichier.

Comme vous pouvez le voir sur l'image ci-dessus, l'entrée du répertoire contient le nom du fichier et le nœud i.

En même temps, vous constaterez que dans la figure ci-dessus, les i nœuds de l'élément de répertoire A et de l'élément de répertoire B pointent vers la même zone de stockage, et cette zone de stockage stocke les données de printf("ha").

Cela signifie que le contenu de helloA.c et helloB.c est le même.

i Numéro de nœud

Chaque inode a un numéro (c'est-à-dire un numéro d'inode) et le système d'exploitation utilise le numéro d'inode pour identifier différents fichiers.

————Linux utilise en interne les numéros d'inode pour identifier les fichiers, pas les noms de fichiers. Pour le système, les noms de fichiers sont un autre nom pour les numéros d'inode, ce qui permet aux utilisateurs d'identifier les fichiers. entre les noms de fichiers et les numéros d'inode, chaque numéro d'inode correspond à un nom de fichier.

Le numéro d'inode est le seul code reconnu par le système, et le nom de fichier sert uniquement à l'identification de l'utilisateur. La table inode (nœud d'index) contient une liste de tous les fichiers du système de fichiers. une entrée de tableau, y compris les informations associées (métadonnées).

La structure du disque dur après le partitionnement :

Que signifie le numéro de nœud Linux i-node ?

  • Lorsqu'un utilisateur tente d'accéder à un fichier dans le système Linux, le système recherchera d'abord son numéro d'inode correspondant en fonction du nom du fichier pour obtenir l'inode ; informations via le numéro d'inode ; basé sur les informations d'inode pour voir si l'utilisateur est autorisé à accéder à ce fichier ; si c'est le cas, pointez vers le bloc de données correspondant et lisez les données, sinon, il reviendra ;

Processus simple pour accéder aux fichiers :

Que signifie le numéro de nœud Linux i-node ?

2. Stockage de fichiers Linux

2.1 Limite du nombre d'inodes

  • Inode sera également consomme de l'espace sur le disque dur, donc formatez , le système d'exploitation divise automatiquement le disque dur en deux zones : l'une est la zone de données, qui stocke les données du fichier ; l'autre est la zone d'inode, qui stocke les informations contenues dans l'inode. La taille de chaque inode est généralement de 128 octets ou 256 octets.
  • Normalement, vous n'avez pas besoin de prêter attention à la taille d'un seul inode, mais vous devez vous concentrer sur le nombre total d'inodes. Le nombre total d'inodes a été déterminé lors du formatage
    ——Pourquoi en avez-vous besoin. se concentrer sur le nombre total d'inodes ? Parce queLorsque les inodes sont épuisés, même s'il reste de la place sur le disque, de nouveaux fichiers ne peuvent pas être créés, car lors de la création d'un fichier, il faut un numéro d'inode qui lui corresponde , et de nouveaux fichiers ne peuvent pas être créés sans inode.
    Exécutez la commande "df-i" pour afficher le nombre total d'inodes correspondant à chaque partition du disque dur et le nombre d'inodes utilisés.

Que signifie le numéro de nœud Linux i-node ?

2.2 Le contenu de l'inode

inode contient les méta-informations du fichier, plus précisément le contenu suivant :

  • Le nombre d'octets du fichier
  • L'ID utilisateur propriétaire du fichier
  • Le ID de groupe du fichier
  • Les autorisations de lecture, d'écriture et d'exécution du fichier
  • Le nombre de liens, c'est-à-dire le nombre de fichiers pointant vers cet inode
  • L'horodatage du fichier
  • Deux façons d'afficher le Informations sur l'inode d'un certain fichier

Première méthode : stat [Nom du fichier]

Exemple : stat aa.txt

Que signifie le numéro de nœud Linux i-node ?

Avantages : Vous pouvez afficher les informations détaillées sur l'inode du fichier

Méthode 2 : ls -i [Nom du fichier]

Que signifie le numéro de nœud Linux i-node ?

Seul le numéro d'inode peut être affiché

2.3 Les trois principaux attributs temporels des fichiers système Linux

Les trois principaux attributs temporels des fichiers système Linux (c'est-à-dire l'horodatage dans l'inode)

  • ctime (heure de changement)
    fait référence à la dernière fois modifié le fichier ou le répertoire ( attribut )
  • atime (heure d'accès )
    fait référence à la dernière fois accédé au fichier ou au répertoire
  • mtime (heure de modification)
    fait référence à la dernière fois modifié un fichier ou un répertoire (contenu)

3. Le rôle spécial d'inode

En raison de la séparation du numéro d'inode et du nom de fichier, certains systèmes Unix/Linux ont le phénomène suivant :

  • Lorsque le nom de fichier contient des caractères spéciaux, le fichier peut ne pas être supprimé normalement. Supprimez le. inode directement, ou vous pouvez supprimer le fichier
  • Lors du déplacement ou du renommage du fichier, seul le nom du fichier est modifié et le numéro d'inode n'est pas affecté
  • Après l'ouverture d'un fichier, le système identifie le fichier par le numéro d'inode, non plus en tenant compte du nom du fichier. Une fois les données du fichier modifiées et enregistrées, un nouveau numéro d'inode sera généré (le numéro d'inode d'origine sera publié). Comment passer Supprimer le numéro d'inode et supprimer le fichier :
  • Méthode 1 (). les informations doivent être confirmées avant la suppression) : find ./ -inum [numéro d'inode] -exec rm -i {} ;

Méthode 2 (suppression directe) : find ./ / -inum [numéro d'inode] -delete

Que signifie le numéro de nœud Linux i-node ?

Recommandations associées : "

Tutoriel vidéo Linux

"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn