Каталоги - это файлы содержащие имена находящихся в них файлов и указатели (номера) индексных дескрипторов в которых содержится информация о файле.
Каталоги определяют положение файла в дереве файловой системы. Программа, имеющая право на чтение каталога может прочесть его содержимое, но только системные вызовы ядра имеют право на запись в каталог. Пример:
. -корневой каталог
.. –родительский каталог
Соотношение номера дескриптора и имени файла называется жесткой ссылкой. Первоначально на диске создается 1 корневой каталог /. В котором могут хранится ссылки на другие каталоги. Проходя по вложенности каталогов, получаем полный путь к файлу. Хотя каталоги похожи на обычные файлы, но для работы с ними есть специальные вызовы. Пример:
/home/std1 /home/stud2
3071. 5711.
4534.. 4534..
484 f1.c 3782 t1.c
4091 prog1.c 1547 tile.txt
3544 file.txt 4091 prog2.c
Это два имени одного и того же файла. Количество имен файла определенно в специальном поле, которое называется число жестких связей. Работать с файлом можно через любое имя. Файл будет удален, когда удалят все его имена.