Middle
Que informação armazena o i-node?
sobes.tech IA
Resposta da IA
O inode (inode) armazena metainformação sobre um ficheiro ou diretório no sistema de ficheiros. Não contém os próprios dados do ficheiro.
Informação chave armazenada no inode:
- Tipo de ficheiro (ficheiro normal, diretório, link simbólico, etc.).
- Permissões de acesso (proprietário, grupo, outros; permissões de leitura, escrita, execução).
- Número de ligações físicas a este inode.
- Identificador de utilizador do proprietário (UID).
- Identificador de grupo do proprietário (GID).
- Tamanho do ficheiro em bytes.
- Marcas de tempo:
- Hora do último acesso (atime).
- Hora da última modificação (mtime).
- Hora da última alteração do inode/metadados (ctime).
- Números de blocos no disco onde os dados do ficheiro estão armazenados.
- Tamanho do bloco de dados.
Exemplo de estrutura (condicional):
// Representação condicional da estrutura do inode
struct inode {
// Metadados do ficheiro
unsigned int i_mode; // Tipo de ficheiro e permissões
unsigned int i_uid; // UID do proprietário
unsigned int i_gid; // GID do proprietário
unsigned int i_nlink; // Número de ligações físicas
__time_t i_atime; // Hora do último acesso
__time_t i_mtime; // Hora da última modificação
__time_t i_ctime; // Hora de criação/alteração
unsigned long i_size; // Tamanho do ficheiro
unsigned long i_blocks; // Número de blocos ocupados pelo ficheiro
unsigned int i_blksize; // Tamanho do bloco do sistema de ficheiros
// Endereços dos blocos de dados (diretos, indiretos. Depende do FS)
unsigned int i_block[N_BLOCKS];
// + informação adicional específica do FS
};
Tabela com exemplos de permissões em sistema octal:
| Valor (Octal) | Descrição |
|---|---|
| 777 | Todas as permissões para proprietário, grupo e outros |
| 755 | rwx para proprietário, r-x para grupo e outros |
| 644 | rw- para proprietário, r-- para grupo e outros |