Sobes.tech
Middle

Каква информация съхранява i-узелът?

sobes.tech AI

Отговор от AI

Inode (inode) съхранява метаинформация за файл или директория във файловата система. Той не съдържа самите данни на файла.

Ключова информация, съхранявана в inode:

  • Тип на файла (обикновен файл, директория, символен линк и т.н.).
  • Права за достъп (собственик, група, други; права за четене, писане, изпълнение).
  • Брой на твърдите връзки към този inode.
  • Идентификатор на потребителя на собственика (UID).
  • Идентификатор на групата на собственика (GID).
  • Размер на файла в байтове.
  • Времеви марки:
    • Време на последен достъп (atime).
    • Време на последна модификация (mtime).
    • Време на последна промяна на inode/метаданни (ctime).
  • Номера на блоковете на диска, където се съхраняват данните на файла.
  • Размер на блока с данни.

Примерна структура (условна):

// Условно представяне на структурата inode
struct inode {
    // Метаданни на файла
    unsigned int    i_mode;      // Тип на файла и права
    unsigned int    i_uid;       // UID на собственика
    unsigned int    i_gid;       // GID на собственика
    unsigned int    i_nlink;     // Брой твърди връзки
    __time_t        i_atime;     // Време на последен достъп
    __time_t        i_mtime;     // Време на последна модификация
    __time_t        i_ctime;     // Време на създаване/промяна
    unsigned long   i_size;      // Размер на файла
    unsigned long   i_blocks;    // Брой блокове, заети от файла
    unsigned int    i_blksize;   // Размер на блока на файловата система
    // Адреси на данните блокове (директни, косвени. Зависи от FS)
    unsigned int    i_block[N_BLOCKS]; 
    // + допълнителна информация, специфична за FS
};

Таблица с примери за права за достъп в осмична система:

Стойност (Octal) Описание
777 Всички права за собственик, група и други
755 rwx за собственик, r-x за група и други
644 rw- за собственик, r-- за група и други