Точка и двойная точка
В каждом каталоге всегда присутствуют два странных имени файлов: точка (.) и двойная точка (..). Точка является стандартным для системы 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.