inode (index node) — это базовая структура данных в файловых системах семейства Unix (включая Linux), которая хранит метаданные о файле. Каждый файл или каталог в Linux связан с одним inode, который содержит информацию о самом файле, но не о его имени.

Что хранится в inode

inode содержит:

  • Тип файла (обычный файл, каталог, символьная ссылка и т. д.)
  • Права доступа (mode) — кто может читать, писать, выполнять
  • Владелец (UID) и группа (GID)
  • Размер файла
  • Временные метки:
    • atime — время последнего доступа
    • mtime — время последнего изменения содержимого
    • ctime — время последнего изменения метаданных
  • Количество жёстких ссылок на файл
  • Ссылки на блоки данных — указатели на реальные блоки, где лежит содержимое файла

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

  • Имя файла
  • Путь к файлу

Имя файла хранится в каталоге (directory), где оно связывается с номером inode.
Фактически каталог — это таблица соответствий вида:

имя_файла → номер_inode

Как это работает

Когда вы открываете файл /home/user/file.txt, система делает следующее:

  1. Находит каталог /home/user, читает из него номер inode для file.txt.
  2. Через этот inode получает всю нужную информацию о файле (владельца, права, адреса блоков данных и т. д.).
  3. Используя указатели из inode, получает содержимое файла из диска.

Практические моменты

  • Узнать номер inode можно командой:
ls -i file.txt
  • Если удалить имя файла (rm file.txt), но у него остаются открытые дескрипторы или другие жёсткие ссылки — сам файл не исчезает, пока не обнулится счётчик ссылок в inode.
  • Жёсткие ссылки (hard links) указывают на один и тот же inode, поэтому фактически являются разными именами одного файла.
  • Символьные ссылки (soft links) — это отдельные файлы с собственными inode, которые содержат путь до другого файла.

Итого

inode — это «паспорт» файла: в нём описано всё, кроме имени.
Благодаря inode Linux может:

  • быстро находить файлы по ссылкам,
  • эффективно управлять правами и метаданными,
  • безопасно удалять файлы только тогда, когда они действительно больше не используются.