为什么必须先创建目录才能挂载共享?

use*_*ame 11 mount mac-osx bsd

为什么必须先创建一个目录,然后才能将共享挂载到该目录?

例如:我一直不明白为什么这里需要 mkdir:

mkdir /Volumes/foo
mount -t afp afp://username:pass@pretendco.com/foo /Volumes/foo
Run Code Online (Sandbox Code Playgroud)

Zor*_*che 5

因为没有人提交补丁来添加 --create-dir 选项来挂载了吗?:)


Tim*_*Tim 5

这是因为当你挂载一个目录时,你是在对你的系统说,“就好像<网络共享>中的文件实际上在<本地文件夹>中一样。” 如果系统没有那个本地文件夹,它就不能把那些网络文件放在那里。


Sea*_*ton 3

在 UNIX 和类 UNIX 系统(包括 Mac OS X)上,文件系统的逻辑布局与 Windows 上的布局非常不同。不存在像 C 或 D 等驱动器这样的东西。只有一个以层次结构(树结构)布局的文件系统。该文件系统可以由机器中的一个物理驱动器或多个物理驱动器组成。它也可以由内存和通过 NFS、CIFS 等协议从另一台计算机共享组成。因为本身没有驱动器,所以您需要在文件系统上有某个位置可以附加或安装此附加存储,以便您创建一个目录,然后在那里挂载其他文件系统。

例如,Linux 系统有一个 /mnt 目录或一个 /mnt 层次结构,其中包含 cdrom 等目录。在这种情况下,您不需要首先创建一个目录,您可以使用其中一个目录,但您不需要这样做,因为安装点可以位于文件系统上的任何位置。如果您在某个地方需要更多空间,则此优势非常有用,因为您可以添加另一个驱动器,将数据移动到该驱动器上,然后将其安装在旧目录所在的位置,一切都将继续工作而无需任何更改。