Где хранятся имена файлов в файловой системе?
Это не inode или с фактическим содержимым файла, так как у нас есть жесткая ссылка, что два имени файла могут указывать на один и тот же inode.
.
внутри себя.
Где хранятся имена файлов в файловой системе?
Это не inode или с фактическим содержимым файла, так как у нас есть жесткая ссылка, что два имени файла могут указывать на один и тот же inode.
.
внутри себя.
Ответы:
Я не нашел подходящего дубликата, поэтому вот ответ на ваш вопрос.
выдержка
Имена файлов и значение каталога:
- Иноды не содержат имен файлов, только другие метаданные файла.
- Каталоги Unix представляют собой списки структур ассоциаций, каждая из которых содержит одно имя файла и один номер индекса.
- Драйвер файловой системы должен найти каталог, ищущий определенное имя файла, а затем преобразовать имя файла в правильный соответствующий номер индекса.
Источник: страница Википедии на Inode
Таким образом, имя файла хранится в информационной структуре каталогов. Например:
выдержка
В файловой системе EXT2 каталогами являются специальные файлы, которые используются для создания и хранения путей доступа к файлам в файловой системе. На рисунке 9.3 показана схема записи каталога в памяти.
Файл каталога представляет собой список записей каталога, каждая из которых содержит следующую информацию:
- inode - Inode для этой записи каталога. Это индекс в массиве inode, хранящихся в таблице Inode группы блоков. На рисунке 9.3 запись каталога для файла с именем file имеет ссылку на номер индекса i1,
- длина имени - длина этой записи каталога в байтах,
- name - имя этой записи каталога.
Первые две записи для каждого каталога всегда являются стандартом,
.
а..
записи означают «этот каталог» и «родительский каталог» соответственно.
Вот ссылки на рисунке 9.3 выше:
Источник: Проект документации Linux: Файловая система
Имя файла хранится в соответствующем каталоге («файл каталога»). Эта запись указывает на индекс.
Имя файла хранится в структуре данных «directory», которая имеет «(string) filename» и соответствующий «(int) inode». каталог отвечает за отображение имени файла -> inode. и в ode отвечает за отображение inode -> сектора на диске.