Acho que no meu diretório raiz, existem alguns diretórios que têm o mesmo número de inode:
$ ls -aid */ .*/
2 home/ 2 tmp/ 2 usr/ 2 var/ 2 ./ 2 ../ 1 sys/ 1 proc/
Só sei que os nomes dos diretórios são mantidos no diretório pai e seus dados são mantidos no inode dos próprios diretórios.
Estou confuso aqui.
É isso que penso quando rastreio o nome do caminho / home / user1.
- Primeiro, entro no inode 2, que é o diretório raiz que contém as listas de diretórios.
- Então, encontro o nome home emparelhado com o inode 2.
- Então eu volto para o disco para encontrar o inode 2?
- E eu recebo o nome user1 aqui?
linux
filesystems
inode
youxiao
fonte
fonte
Respostas:
Eles estão em dispositivos diferentes.
Se olharmos para a saída de
stat
, também podemos ver o dispositivo em que o arquivo está:Portanto, esses dois estão em dispositivos / sistemas de arquivos separados. Os números de inode são únicos apenas dentro de um sistema de arquivos, portanto não há nada incomum aqui. No ext2 / 3/4, o inode 2 também é sempre o diretório raiz , então sabemos que eles são as raízes dos seus respectivos sistemas de arquivos.
A combinação do número do dispositivo + inode provavelmente será única em todo o sistema. (Existem sistemas de arquivos que não têm inodes no sentido tradicional, mas acho que eles ainda precisam falsificar algum tipo de identificador exclusivo em seu lugar.)
Os números dos dispositivos parecem os mesmos que os mostrados nos nós do dispositivo, portanto,
/dev/sda1
mantém o sistema de arquivos em que/
está:fonte
O número de inode de qualquer arquivo especificado é exclusivo para o sistema de arquivos, mas não necessariamente exclusivo para todos os sistemas de arquivos montados em um determinado host. Quando você possui vários sistemas de arquivos, verá números de inodes duplicados entre os sistemas de arquivos, isso é normal.
fonte