Mac OS X 中的卷目录

Hus*_*s T 6 macos

我刚开始使用 Mac OS X。在根目录下/,有一个名为Volumes/.

当我进入目录时Volumes/,有一个名为Macintosh HD/. 当我进入目录下时Macintosh HD/,我回到根目录下,我可以Volumes/再次进入目录下。如果我继续这样做几次并使用 pwd 检查我所在的目录,我会看到我在一个名为/Volumes/Macintosh/Volumes/Macintosh/Volumes/Macintosh.

我无法理解这背后的逻辑。有人可以解释一下吗?

Gia*_*968 5

首先,只需了解该/Volumes/目录是Mac OS X 系统上所有已安装卷自然显示的位置。你看到这种行为发生的原因是因为Macintosh/它只是/你系统上(root)的符号链接;完成后/Volumes,除了对该卷的/(root)访问权限之外,您仍然可以对该卷进行命名访问。

例如,如果您进入系统上的终端,输入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 -> /
Run Code Online (Sandbox Code Playgroud)

符号链接基本上就像 Finder 中的别名;但在文件系统级别,符号链接就是“别名”。

至于为什么你看到它这样做/Volumes/Macintosh/Volumes/Macintosh/Volumes/Macintoshpwd,这仅仅是文件系统解释你的路径。是的,它可能看起来很奇怪和令人困惑,但不要混淆。其下唯一安装的卷/Volumes/是系统的根 ( /) 卷。如果您挂载任何其他卷,它们将显示在其中/Volumes/并且不会像那样循环,因为它们将是实际的挂载卷而不是符号链接。

现在至于嵌套符号链接/目录行为的“为什么”,这不是一个容易回答的问题。但基本上所有 Linux/Unix 系统的行为都是如此。而在UNIX和Linux堆栈交流这个问题,答案线程不会进入一些极端的细节,为什么存在,您所造成的符号链接嵌套的目录。