inode – индексный дескриптор файла в Linux | Глоссарий FREEHOSTING

inode

Inode File Index
inode — inode — структура данных в файловой системе, которая хранит информацию о файле, включая его размер, права доступа и расположение данных на диске. Это ключевой элемент для управления файлами в UNIX-подобных системах.

Определение простыми словами

Inode — это индексный дескриптор файла в файловой системе UNIX и Linux. Он содержит метаданные о файле, такие как размер, права доступа, владелец и указатели на физические блоки диска, где хранится содержимое файла. Inode помогает системе быстро находить и управлять файлами без необходимости читать сам файл.

Каждый файл и каталог имеют свой уникальный inode. При работе с файлами операционная система опирается на inode, что обеспечивает эффективность работы с дисковым пространством и управление данными.

Сравнение

Атрибут Описание Пример
Номер inode Уникальный идентификатор в файловой системе 123456
Размер Размер файла в байтах 1024
Права доступа Чтение, запись, выполнение для пользователя и групп -rw-r—r—
Владелец и группа UID и GID владельца файла UID=1000, GID=1000
Временные метки Время создания, изменения и последнего доступа 2024-06-01 12:00:00
Указатели на блоки Адреса физических блоков с данными файла Прямые и косвенные ссылки на блоки

Кейсы использования

  • Управление файлами и каталогами в Linux и UNIX системах.
  • Оптимизация работы с дисковым пространством на уровне файловой системы.
  • Восстановление данных, зная номера inode.
  • Использование в резервном копировании и клонировании для точного учета файлов.
  • Отслеживание ссылок на файл (жёсткие ссылки) через один inode.

Негативный пример: Переполнение таблицы inode приводит к невозможности создать новые файлы, даже если на диске достаточно места.

Технические детали

Физическая структура inode определяется конкретной файловой системой, например, ext4, где inode занимает фиксированный размер (обычно 256 байт). В inode содержатся следующие поля:

  • Тип файла (обычный, каталог, ссылочный и др.)
  • Режим доступа (права)
  • UID и GID
  • Размер файла
  • Временные метки: время создания, изменения, доступа
  • Количество жёстких ссылок
  • Указатели на блоки данных (прямые, косвенные, двойные и тройные)

Пример вывода inode в Linux:

$ ls -i file.txt
123456 file.txt

Использование команды stat для получения подробной информации об inode:

$ stat file.txt
  File: file.txt
  Size: 1024          Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d    Inode: 123456      Links: 1
Access: 2024-06-01 12:00:00
Modify: 2024-06-01 11:00:00
Change: 2024-06-01 11:30:00

Подробнее о ext4, файловыx системах и жёстких ссылках.

Частые вопросы

Что хранит в себе inode?

Inode хранит метаданные файла: размер, права доступа, владельца, временные метки и расположение данных на диске.

Можно ли восстановить файл по inode?

Да, при наличии доступа к inode и данным диска, возможно восстановить файл даже без его имени.

Что происходит, если закончатся свободные inode?

Создать новые файлы станет невозможно, даже если на диске есть свободное пространство.