web-dev-qa-db-fra.com

Que signifient `fd01h / 64769d` dans Device et` 142368` dans Inode?

Quand j'ai vérifié l'état d'un fichier:

[root@iz2ze9wve43n2nyuvmsfx5z ~]# stat test.py
  File: ‘test.py’
  Size: 33          Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 142368      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2018-11-09 20:42:30.262438217 +0800
Modify: 2018-11-09 20:42:27.266329005 +0800
Change: 2018-11-09 20:42:27.269329115 +0800
 Birth: -

Que signifie fd01h/64769d dans Device et 142368 in Inode?

2
Algebra

Dispositif:

Device: fd01h/64769d vous indique sur quel appareil se trouve le fichier examiné. La valeur est représentée à la fois par h exadécimal (fd01) et par d nombre décimal (64769).

Désormais, chaque appareil est identifiable par son numéro majeur et mineur . Le numéro majeur identifie une classe de périphériques, qui utilisent normalement le même module pilote/noyau, alors que le numéro mineur identifie un périphérique unique au sein de cette classe.

Notez que dans ce contexte, "périphérique" n'est pas nécessairement un périphérique matériel ici, il inclut des périphériques virtuels. Tout dans /dev est un périphérique (à l'exception des répertoires et des liens symboliques) et porte un numéro majeur et un numéro mineur. Vous pouvez les vérifier vous-même avec ls -l /dev (exemple de sortie abrégé):

drwxr-xr-x  20 root root          4560 Nov 14 00:03 ./
drwxr-xr-x  27 root root          4096 Nov  2 03:30 ../
brw-rw----   1 root disk      8,     0 Nov 14 01:06 sda
brw-rw----   1 root disk      8,     1 Nov 14 01:06 sda1
brw-rw----   1 root disk      8,     2 Nov 14 01:06 sda2
brw-rw----   1 root disk      8,     3 Nov 14 01:06 sda3
brw-rw----   1 root disk      8,    16 Nov 14 01:06 sdb
brw-rw----   1 root disk      8,    17 Nov 14 01:06 sdb1
brw-rw----   1 root disk      8,    18 Nov 14 01:06 sdb2
crw-------   1 root root     10,   224 Nov 13 15:53 tpm0
crw-------   1 root root    253, 65536 Nov 13 15:53 tpmrm0
crw-rw-rw-   1 root tty       5,     0 Nov 14 01:06 tty
crw--w----   1 root tty       4,     0 Nov 13 15:53 tty0
crw--w----   1 root tty       4,     1 Nov 13 15:53 tty1
crw-rw-rw-   1 root root      1,     5 Nov 13 15:53 zero

Les quatrième et cinquième colonnes indiquent les nombres majeur et mineur. Pour les disques durs normaux, le nombre majeur est 8 et chacun des disques et partitions possède son propre numéro mineur unique.

Revenons maintenant à votre sortie stat, le numéro de périphérique hexadécimal était fd01. Cela peut être divisé en deux octets, fd (nombre décimal 253) est le composant du nombre majeur et 01 (nombre décimal 1) est le nombre mineur. Nous pourrions essayer de rechercher le nombre majeur dans cette liste , mais il n’est classé que dans une plage de numéros correspondant à "RÉSERVÉ À L’AFFECTATION DYNAMIQUE" et à "UTILISATION LOCALE/EXPÉRIMENTALE". Je devinerais sur un volume chiffré ou LVM.

Quoi qu'il en soit, vous pouvez utiliser lsblk et vérifier lequel des périphériques de bloc de stockage listés ici correspond à ce numéro majeur ou mineur. Vous verrez que ceci est bien sûr le périphérique/partition/système de fichiers sur lequel votre fichier examiné est réellement stocké.

Voir aussi: numéro de périphérique dans la sortie de la commande stat


Inode:

Sur les systèmes de fichiers Unix tels que ext4, la valeur par défaut pour Ubuntu, chaque objet de système de fichiers (comme les fichiers et les répertoires) est décrit par un "inode". Il s'agit essentiellement d'une structure de données qui stocke les blocs sur le disque qui appartiennent à l'objet, mais également des métadonnées telles que des horodatages ainsi que des informations sur le propriétaire et les autorisations. Chaque objet a (au moins) un inode et chaque inode appartient à exactement un objet du système de fichiers.

Le nombre que vous voyez dans votre sortie stat est le numéro ou l'index de l'inode de ce fichier, ce qui vous permet donc de l'identifier de manière unique. Par exemple. debugfs pourrait être utilisé pour montrer que ce numéro correspond correctement au fichier examiné en recherchant le chemin, ne connaissant que le numéro.

Voir aussi: Inode (Wikipedia)

3
Byte Commander