Um número de inode é exclusivo em um único sistema de arquivos. Um exemplo que você vai encontrar rapidamente é o inode raiz nos sistemas de arquivos ext2 / 3/4, que é 2:
$ ls -id / /home
2 / 2 /home
Se você executar (assumindo o GNU find
)
find / -printf "%i %p\n" | sort -n | less
em um sistema com vários sistemas de arquivos, você verá muitos, muitos números de inode duplicados (embora você precise levar a saída com uma pitada de sal, uma vez que também incluirá hard links).
Quando você procura um arquivo por número de inode, pode usar a opção find
de -xdev
para limitar sua pesquisa ao sistema de arquivos que contém o caminho inicial, se tiver um único caminho inicial:
find / -xdev -inum 12582925
só encontrará arquivos com o número de inode 12582925 no sistema de arquivos raiz. ( -xdev
também funciona com vários caminhos de início, mas sua utilidade é reduzida nesse caso específico.)
É a combinação do número do inode e do número do dispositivo ( st_dev
e st_ino
no stat
structure, %D %i
no find
do -printf
) que identifica um arquivo exclusivamente (em um dado sistema). Se duas entradas de diretório tiverem o mesmo inode e dev number, elas se referem ao mesmo arquivo (embora possivelmente através de duas montagens diferentes de um mesmo sistema de arquivos para montagens de ligação).
Algumas implementações find
também têm um predicado -samefile
que localizará arquivos com o mesmo dispositivo e número de inode. A maioria das implementações de [
/ test
também tem um operador -ef
para verificar se dois caminhos de arquivos se referem ao mesmo arquivo (embora após a resolução de links simbólicos).