Je trouve que sous mon répertoire racine, il y a des répertoires qui ont le même numéro d'inode:
$ ls -aid */ .*/
2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/
Je sais seulement que les noms des répertoires sont conservés dans le répertoire parent et leurs données sont conservées dans l'inode des répertoires eux-mêmes.
Je suis confus ici.
C'est ce que je pense quand je trace le chemin d'accès / home / user1.
- Je vais d'abord dans l'inode 2 qui est le répertoire racine qui contient les listes de répertoires.
- Ensuite, je trouve le nom home associé à l'inode 2.
- Je reviens donc sur le disque pour trouver l'inode 2?
- Et je reçois le nom user1 ici?
linux
filesystems
inode
youxiao
la source
la source
Réponses:
Ils sont sur différents appareils.
Si nous regardons la sortie de
stat
, nous pouvons également voir le périphérique sur lequel se trouve le fichier:Donc, ces deux sont sur des appareils / systèmes de fichiers séparés. Les numéros d'inode ne sont uniques qu'au sein d'un système de fichiers, il n'y a donc rien d'inhabituel ici. Sur ext2 / 3/4, l'inode 2 est également toujours le répertoire racine , nous savons donc que ce sont les racines de leurs systèmes de fichiers respectifs.
La combinaison numéro d'appareil + inode est susceptible d'être unique sur l'ensemble du système. (Il existe des systèmes de fichiers qui n'ont pas d'inodes au sens traditionnel du terme, mais je pense qu'ils doivent quand même simuler une sorte d'identifiant unique à leur place.)
Les numéros de périphérique semblent être les mêmes que ceux indiqués sur les nœuds de périphérique, donc
/dev/sda1
détient le système de fichiers où il/
est activé:la source
Le numéro d'inode d'un fichier donné est unique au système de fichiers, mais pas nécessairement unique à tous les systèmes de fichiers montés sur un hôte donné. Lorsque vous avez plusieurs systèmes de fichiers, vous verrez des numéros d'inode en double entre les systèmes de fichiers, c'est normal.
la source