Системное программирование в UNIX средствами Free Pascal

Точка и двойная точка


В каждом каталоге всегда присутствуют два странных имени файлов: точка (.) и двойная точка (..). Точка является стандартным для системы UNIX способом обозначения текущего рабочего каталога, как в команде

$ cat ./fred

которая выведет на экран файл fred в текущем каталоге, или

$ ls .

которая выведет список файлов в текущем каталоге. Двойная точка является стандартным способом ссылки на родительский каталог текущего рабочего каталог, то есть каталог, содержащий текущий каталог. Поэтому команда

$ cd ..

позволяет пользователю переместиться на один уровень вверх по дереву каталогов.

Фактически имена «точка» (.) и «двойная точка» (..) просто являются ссылками на текущий рабочий каталог и родительский каталог соответственно, и любой каталог UNIX содержит в первых двух позициях эти два имени. Другими словами, во время создания каталога в него автоматически добавляются эти два имени.

Можно более ясно это представить себе, рассмотрев участок дерева каталогов, приведенный на рис. 4.4.



ben

book

memos

|

|

chap1

chap2

chap3

kd

kh

mv

Рис. 4.4. Часть дерева каталогов

Если рассмотреть каждый из каталогов ben, book и memos, то откроется картина, похожая на рис. 4.5. Нужно обратить внимание на то, что в каталоге book номер записи с именем . равен 260, а номер записи с именем ..

равен 123, и эти номера соответствуют элементам book и . в родительском каталоге ben. Аналогично имена . и ..

в каталоге memos (с номерами узлов 401 и 123) соответствуют каталогу memos и имени .

в каталоге ben.



Содержание раздела