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