Все в Linux считается файлом для обеспечения согласованности. Это включает в себя аппаратные устройства, принтеры, каталоги и процессы. Обычные файлы, такие как музыка, текст, видео и другие мультимедийные файлы, также имеют дополнительные данные, связанные с ними, называемые метаданными.
Что такое иноды в Linux? Записи Inode являются основой файловой системы Linux. Они управляют метаданными о файле и являются неотъемлемой частью внутренней работы Linux.
Какова структура файловой системы?
Файловая система разделена на две части — блоки данных и inode. Количество блоков фиксируется после создания и не может быть изменено.
Имя, путь, местоположение, ссылки и другие атрибуты файла не находятся в каталоге. Каталоги — это просто таблицы, которые содержат имена файлов с соответствующим номером инода.
Вы можете создать жесткую ссылку, в результате чего для одного файла будет более одного имени. Когда вы создаете жесткую ссылку, он также создает новое имя в таблице с индексом, но не перемещает файл.
Если бы вы переместили большой файл, это заняло бы много времени. Более эффективно создать запись имени в новом каталоге и удалить старую запись. Вы также можете переименовать файлы таким же образом.
Верхняя часть иерархии — это сама файловая система. Внутри файловой системы находятся имена файлов. Имена файлов ссылаются на иноды. Индексы ссылаются на физические данные.
Что такое Inode в Linux?
Индод — это структура данных. Он определяет файл или каталог в файловой системе и хранится в записи каталога. Иноды указывают на блоки, которые составляют файл. Индод содержит все административные данные, необходимые для чтения файла. Метаданные каждого файла хранятся в inode в табличной структуре.
При использовании программы, которая ссылается на файл по имени, система ищет файл записи каталога, в котором он существует, чтобы получить соответствующий индекс. Это дает вашей системе данные файла и информацию, необходимую для выполнения процессов или операций.
Иноды обычно расположены в начале раздела . Они хранят всю информацию, связанную с файлом, кроме имени файла и фактических данных. Все файлы в любом каталоге Linux имеют имя файла и номер индекса. Пользователи могут получить метаданные для файла, ссылаясь на номер инода.
Имена файлов и номера индексов хранятся в отдельном индексе и ссылаются на индекс. Вы можете ссылаться на метаданные, которые представляют файл. Можно иметь несколько имен файлов, которые ссылаются на один фрагмент данных или индекс, как вы можете видеть на рисунке ниже.
Что такое номер инода?
Каждый индекс в структуре Linux имеет уникальный номер, идентифицируемый с ним. Он также называется индексным номером и имеет следующие атрибуты:
- Размер
- Владелец
- Дата/время
- Разрешения и контроль доступа
- Расположение на диске
- Типы файлов
- Количество ссылок
- Дополнительные метаданные о файле
Чтобы проверить список номеров инодов, используйте следующую команду:
ls -i
На приведенном ниже снимке экрана показан каталог с номерами узлов, которые отображаются в крайнем левом столбце.
Как работают иноды?
Когда вы создаете новый файл, ему присваивается имя файла и номер индекса. Оба хранятся в виде записей в каталоге. Выполнение команды ls (ls -li
) покажет вам список имен файлов и номеров инодов, которые хранятся в каталоге.
Используйте команду ниже, чтобы вывести информацию об узлах для каждой файловой системы.
df -hi
Сколько Inode вы используете?
Один из способов освободить место в файловой системе — это использовать все свои inode. Даже если у вас достаточно свободного места на диске, вы не сможете создавать новые файлы.
Использование всех инодов также может привести к внезапной остановке системы. Чтобы просмотреть список статистических данных об использовании inode, таких как «Используется», «Свободен» и «Процент использования», введите следующую команду:
sudo df -ih
Используются дополнительные способы Inode
То, как работают inode в Linux, делает невозможным наличие конфликтующих номеров inode. Невозможно создать жесткую ссылку на разные файловые системы. Однако вы можете использовать программные ссылки в разных файловых системах. Вы можете удалить исходные файлы и по-прежнему иметь доступ к данным по жесткой ссылке.
Удалив файл, все, что вы сделали, это удалили одно из имен, указывающих на конкретный номер инода. Данные будут оставаться до тех пор, пока вы не удалите все имена, связанные с одним и тем же номером инода. Обновление систем Linux без необходимости перезагрузки системы в значительной степени из-за способа работы inode.
Процесс может одновременно использовать файл библиотеки, другой процесс заменяет этот же файл более новой обновленной версией и создает новый индекс. Запущенный процесс продолжает использовать старый файл. В следующий раз, когда вы будете использовать тот же процесс, он будет использовать новую версию.
Пользователи не взаимодействуют напрямую с inode, но они представляют фундаментальный компонент файловых структур Linux.