Sobes.tech
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