Depende do que você entende por "nó de arquivo" e "inode". Eu não tenho esse livro, mas tentarei responder sua pergunta.
Tradicionalmente, o termo "inode" referia-se aos metadados em disco sobre um arquivo. Isso inclui o ID do proprietário, as permissões, o tamanho do arquivo em bytes e as referências aos blocos de disco que continham os dados reais do arquivo. Ah, e uma contagem de referência.
Tradicionalmente, um diretório era apenas um arquivo, com dados formatados especialmente, e uma marca em seu inode que indicava "este arquivo constitui um diretório". Cada entrada dos dados especialmente formatados continha um nome (na forma de uma matriz de bytes com terminação nula, uma cadeia de linguagem C) e um número de inode. A partir do número inode, o kernel pode procurar onde encontrar o inode (os metadados no disco). Para cada entrada de diretório, o código do sistema de arquivos do kernel deveria incrementar a contagem de referência do inode. Você pode ver este link contar com o comando stat
, na maioria dos linxes, de qualquer forma.
O termo "nó de arquivo" pode se referir à entrada de diretório, essencialmente o nome do arquivo. Muitos nomes de arquivos podem se referir ao mesmo inode, cada nome de arquivo adicional aumentará a contagem de links em um.
Você pode demonstrar muito isso para si mesmo:
touch somefilename
ln somefilename anothername
ls -li somefilename anothername
Você deve ver números idênticos (o número do inode) como o primeiro campo de ls -li
output para os dois arquivos. Você pode usar stat somefilename
e stat anothername
para corroborar os números de inode e as contagens de links. Exclua um dos arquivos e, em seguida, faça um stat
no arquivo restante para ver a contagem de links diminuída.