É um número inode um id não mutável de um inode?

2

Estou tentando entender o conceito do número de inode de um inode.

É um número de inode an / o id de um inode?

Um inode tem exatamente um número de inode? ou um inode pode ter zero ou mais de um inode?

Quando um número / inode é atribuído a um inode?

O número de inode de um inode pode ser alterado? Faz sentido alterar o número de inode de um inode?

Se eu precisar ser específico, estou me referindo a sistemas de arquivos nativos do Linux.

    
por Tim 16.01.2016 / 02:34

1 resposta

2

O número de inode é simplesmente o identificador exclusivo de um inode. É análogo a um UID ou GID. Assim, cada inode tem exatamente um identificador.

Para encontrar o número de inode de um arquivo, use ls -i ou stat .

Cada diretório no Unix é apenas uma lista de (filename, inode number) pares. O número do inode serve como um "ponteiro" para encontrar a própria estrutura do inode. O inode, por sua vez, registra a localização do conteúdo atual do arquivo.

Um número de inode é atribuído a um inode quando é criado, o que é sempre que um novo arquivo é criado.

Edite para abordar os pontos abaixo:

  1. Esta é realmente uma questão complicada. Eu suspeitava strongmente que a resposta seria "não", mas eu não estava 100% certo, então fiz uma pesquisa rápida. Eu encontrei algumas fontes dizendo que o número de inode pode de fato mudar se um arquivo for movido, embora eu não possa reproduzir esse comportamento localmente, então parece que isso depende de alguns fatores externos. Consulte aqui , por exemplo. Observe que o número do inode pode certamente não mudar de um movimento se ele tiver vários hardlinks ou se os hardlinks forem quebrados.

  2. Sim. Caso contrário, seria possível que o sistema operacional ficasse sem números de inode, o que seria muito ruim . Essa é exatamente a mesma razão pela qual os IDs do processo podem ser reutilizados pelo sistema operacional.

  3. Eu abordei isso acima. Cada inode tem exatamente um número de inode.

por 16.01.2016 / 12:28