Я только что начал использовать Mac OS X. В корневом каталоге /
есть папка с именем Volumes/
.
Когда я захожу в каталог Volumes/
, там есть каталог с именем Macintosh HD/
. Когда я захожу в каталог Macintosh HD/
, я возвращаюсь в корень и могу Volumes/
снова зайти в каталог. Если я продолжу делать это несколько раз и проверю каталог, в котором я нахожусь, с помощью pwd, я увижу, что я в каталоге с именем /Volumes/Macintosh/Volumes/Macintosh/Volumes/Macintosh
.
Я не могу понять логику этого. Может кто-нибудь объяснить?
решение1
Во-первых, просто поймите, что /Volumes/
каталог — это место, гдевсе смонтированные томана вашей системе Mac OS X естественно появляются. И причина, по которой вы видите, что происходит такое поведение, заключается в том, что Macintosh/
это просто символическая ссылка на /
(корень) в вашей системе; это делается в /Volumes
так что у вас все еще есть именованный доступ к этому тому в дополнение к /
(корневому) доступу к этому тому.
Например, если вы зашли в Терминал в своей системе, набрали текст, cd /Volumes
а затем снова набрали его, ls -la
вы можете увидеть что-то вроде этого:
drwxrwxrwt@ 7 root admin 238 Sep 13 23:55 .
drwxr-xr-x 29 root wheel 1054 Sep 13 01:43 ..
lrwxr-xr-x 1 root admin 1 Sep 13 16:42 Macintosh -> /
Символическая ссылка по сути похожа на псевдоним в Finder; но на уровне файловой системы символическая ссылка — это то, что называется «псевдонимом».
Что касается того, почему вы видите, что это происходит /Volumes/Macintosh/Volumes/Macintosh/Volumes/Macintosh
в , pwd
то это просто файловая система интерпретирует ваш путь. Да, это может показаться странным и запутанным, но не запутайтесь. Единственный смонтированный том, /Volumes/
который ведет себя таким образом, — это корневой том ( /
) вашей системы. Если вы смонтируете любые другие тома, они отобразятся в /Volumes/
и не будут зацикливаться, так как это будут фактические смонтированные тома, а не символические ссылки.
Теперь, что касается «почему» это вложенное символическое поведение ссылки/каталога, это не простой вопрос для ответа. Но в основном все системы Linux/Unix ведут себя так. Иэта ветка вопросов и ответов на Unix & Linux Stack Exchangeвдается в некоторые мельчайшие подробности относительно того, почему существуют вложенные каталоги, вызванные символическими ссылками.