Encuentro que debajo de mi directorio raíz, hay algunos directorios que tienen el mismo número de inodo:
$ ls -aid */ .*/
2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/
Solo sé que los nombres de los directorios se mantienen en el directorio principal, y sus datos se guardan en el inodo de los directorios mismos.
Estoy confundido aquí
Esto es lo que pienso cuando trazo el nombre de ruta / inicio / usuario1.
- Primero me meto en el inodo 2, que es el directorio raíz que contiene las listas de directorios.
- Luego encuentro el nombre de la casa emparejado con el inodo 2.
- ¿Entonces vuelvo al disco para encontrar el inodo 2?
- ¿Y obtengo el nombre user1 aquí?
linux
filesystems
inode
youxiao
fuente
fuente
Respuestas:
Están en diferentes dispositivos.
Si miramos la salida de
stat
, también podemos ver el dispositivo en el que se encuentra el archivo:Entonces esos dos están en dispositivos / sistemas de archivos separados. Los números de inodo solo son únicos dentro de un sistema de archivos, por lo que no hay nada inusual aquí. En ext2 / 3/4, inode 2 también es siempre el directorio raíz , por lo que sabemos que son las raíces de sus respectivos sistemas de archivos.
Es probable que la combinación de número de dispositivo + inodo sea única en todo el sistema. (Hay sistemas de archivos que no tienen inodos en el sentido tradicional, pero creo que de todos modos todavía tienen que falsificar algún tipo de identificador único en su lugar).
Los números de dispositivo allí parecen ser los mismos que se muestran en los nodos del dispositivo, por lo que
/dev/sda1
contiene el sistema de archivos donde/
está encendido:fuente
El número de inodo de cualquier archivo dado es único para el sistema de archivos, pero no necesariamente exclusivo para todos los sistemas de archivos montados en un host dado. Cuando tiene varios sistemas de archivos, verá números de inodo duplicados entre sistemas de archivos, esto es normal.
fuente