Pergunta

Estou atravessado pela definição do número do inode:

Um inode é uma estrutura de dados em um sistema de arquivos tradicional em estilo UNIX, como UFS ou EXT3. Um inode armazena informações básicas sobre um arquivo, diretório ou outro objeto de sistema de arquivos regulares. Fonte

Portanto, deve haver uma ordem lógica em cada número de inode. Você pode concluir algo diretamente dos números na frente?

4214970 0 drwx------  102 user  staff   3.4K Feb  2 22:34 new
5728909 0 drwx------    3 user  staff   102B Mar 25 22:11 new_new
5415906 0 drwx------   15 user  staff   510B Mar 19 02:28 stdout_TEST

Caso contrário, que tipo de coisas você pode saber graças à estrutura de dados?

Foi útil?

Solução

Você pode concluir algo diretamente dos números na frente?

Não necessariamente. Os inodos são reciclados.

Caso contrário, que tipo de coisas você pode saber graças à estrutura de dados?

Verifique o arquivo de cabeçalho que contém a definição do struct apropriado para o sistema de arquivos específico (por exemplo /usr/include/linux/ext2_fs.h para ext2 e ext3).

Outras dicas

Um número de inode não é um inode. :) Você pode pensar no número do inode como a chave primária do inode.

Quanto à forma como os números de inode são decididos, depende do sistema de arquivos. Alguns sistemas de arquivos podem até fazer números de inode do ar (particularmente alguns sistemas de arquivos de fusíveis). Outras vezes, ele pode mapear diretamente para o local no disco. O fato infeliz é que é um conceito um tanto desatualizado, e muitos sistemas de arquivos modernos têm dificuldade em compactar suas informações de localização interna em um número de 32 bits nos dias de hoje.

De qualquer forma, como programador de aplicativos, deve -se tratar o número do inode como um valor opaco, adequado apenas para comparação de igualdade (e somente se tiver certeza de que o arquivo não foi excluído, pois os números de inode podem ser reutilizados ...)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top