Ответ
Inode (index node) — это ключевая структура данных в файловых системах Unix/Linux (например, ext4, XFS), которая хранит метаданные о файле или каталоге, но не включает само имя файла. Имя файла хранится в записи родительского каталога, которая ссылается на номер inode.
Основная информация в inode включает:
- Идентификаторы: Уникальный номер inode (inode number).
- Тип файла и права доступа: Регулярный файл, каталог, символьная ссылка, блочное/символьное устройство, FIFO, сокет. Права доступа (rwx) для владельца, группы и остальных.
- Владелец и группа: User ID (UID) и Group ID (GID) владельца.
- Размер файла: Размер в байтах.
- Временные метки (timestamps):
atime— время последнего доступа к данным файла.mtime— время последнего изменения данных файла.ctime— время последнего изменения метаданных inode (например, прав доступа).
- Счетчик ссылок: Количество жёстких ссылок (hard links), указывающих на данный inode. Файл удаляется с диска, когда этот счётчик становится равным нулю.
- Указатели на данные: Структура указателей на блоки данных файла на диске (прямые, косвенные, двойные косвенные и т.д.).
Как посмотреть информацию из inode:
# Показать номер inode файла
ls -i myfile.txt
# Вывести подробную информацию из inode (все метаданные)
stat myfile.txt
# Для каталога: посмотреть inode текущей и родительской директории (`.` и `..`)
ls -ldi . ..
Почему это важно для DevOps? Понимание inode критично для диагностики проблем с дисковым пространством (например, исчерпание inode при наличии свободных блоков), работы с жесткими ссылками и анализа производительности файловых операций.