Depois de verificar muitas informações na Internet, ainda não está claro para mim quantos inodes um arquivo e uma pasta levam.
Além disso, notei que os inodes são mostrados em kilobytes e não como números cardinais.
Então, como contar o número de inodes necessários para um arquivo ou pasta?
PS Meu mal, parece que K
e M
na saída de $ sudo df -ih/
milhares e milhões e não kilobytes e megabytes.
Um arquivo tem um único inode , pois é o inode que identifica exclusivamente o arquivo. Você pode ter vários nomes/caminhos apontando para o mesmo inode, isso é chamado de "links físicos" .
Quando você lista um arquivo com
ls -l
, uma coluna é o número de referências ao inode (ou seja, o número de caminhos que levam a ele). Para arquivos, geralmente é1
, a menos que links físicos tenham sido explicitamente criados:Acima,
single
está o nome de um arquivo com um único caminho para ele, enquantolinked*
estão três nomes para o mesmo inode. Se você fizerls -il
para mostrar os inodes:Isso confirma que os três
linked*
arquivos são realmente o mesmo inode. Se nósrm linked2
, a contagem de referência nos nomes restantes é diminuída:Para diretórios, a contagem de referências é normalmente 2 mais o número de subdiretórios (AFAIK, a referência "normal" (do pai), o
.
no próprio diretório e o..
em cada subdiretório).Caso contrário, um arquivo (ou diretório) pode usar vários blocos de alocação, dependendo do conteúdo e isso pode mudar durante o tempo de vida do arquivo.