Назад к вопросам
Middle
74
questionbank

Какую информацию хранит i-узел?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

I-узел (inode) хранит метаинформацию о файле или каталоге в файловой системе. Он не содержит самих данных файла.

Ключевая информация, хранящаяся в i-узле:

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

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

// Условное представление структуры i-узла
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;   // Размер блока файловой системы
    // Адреса блоков данных (прямые, косвенные. Зависит от ФС)
    unsigned int    i_block[N_BLOCKS]; 
    // + дополнительная информация, специфичная для ФС
};

Таблица с примерами прав доступа в восьмеричной системе:

Значение (Octal) Описание
777 Все права для владельца, группы, других
755 rwx для владельца, r-x для группы и других
644 rw- для владельца, r-- для группы и других