Есть ли конкретное имя для .. или. в системах * nix?

438
jergason

Как раз то, что написано. У них есть имя, кроме "этих точечных штучек"?

3

2 ответа на вопрос

5
John T

Они называются каталожными сокращениями.

, = текущий каталог
.. = родительский каталог

Смотрите этот вопрос для получения дополнительной информации. Раздел 2.13 (CTRL-F для 2.13) на этой странице также охватывает их.

Они вместо их random 14 лет назад 0
2
Jonathan Leffler

Обычно они называются «точка» и «точка-точка». Я не знаю, что у них есть собирательное имя - это просто записи, которые объединяют иерархическую файловую систему, и ls(1)по умолчанию они не отображаются " ", потому что они всегда есть (а другие имена начинаются с точки также не показаны).

Как говорит Джон Т., их значения фиксированы - точка - это имя текущего каталога, а точка-точка - это имя родительского каталога.

Если вы посмотрите руководство по Unix 7th Edition, вы обнаружите, что mkdir(2)системного вызова не было, но суперпользователь мог использовать link(2)системный вызов, чтобы сделать точки и точки в каталоге (и mknod(2)сделать каталог), и mkdir(1), следовательно, программа была корневой программой setuid, которая выполняла свою работу должным образом. В случае неправильного использования вы можете получить неверно иерархическую файловую систему - и одна из задач fsck(8)программы заключалась в проверке и, если необходимо, исправлении неверно собранных иерархий каталогов.

Похожие вопросы