0

我喜欢获取命令显示的特定文件路径的卷属性的属性mount,而不使用该命令,而是调用 POSIX 或相关 API。

在 OS X 上使用该mount命令时,我会得到所有可用卷的列表。man mount指向我getfsent,它返回一个struct fstab包含我感兴趣的数据的结构。

当我第一次调用getfsent()时,我得到了有关根 fs 的信息,即“/”。

问题是我无法以这种方式获得更多的安装点。man getfsent建议我应该简单地重复调用它以了解更多的挂载点,但下一次调用返回 NULL。我怀疑这个函数只返回实际的“/etc/fstab”文件包含的内容,而不是 OS X 稍后动态挂载的其他卷。

但是由于该mount命令可以列出那些额外的卷,因此必须有一种方法。它是什么?或者,我可能只查看源代码,但我无法弄清楚它包含在 opensource.apple.com 提供的众多下载中的哪一个中。

更新:有关列出所有已安装卷的解决方案,请参阅如何在 OSX 上迭代所有已安装的文件系统

4

1 回答 1

0

事实证明,为了学习特定文件卷的属性,例如文件系统类型,我还可以调用statfs()并读出该fstypename字段。这样,我不必遍历已安装的文件系统。我现在将编辑问题。

于 2016-12-22T15:15:57.500 回答