我喜欢获取mount
命令所示的特定文件路径卷属性的属性,而不使用该命令而是调用POSIX或相关API。
在OS X上使用mount
命令时,我会获得所有可用卷的列表。 man mount
将我指向getfsent
,它会返回一个struct fstab
结构,其中包含我感兴趣的数据。
当我第一次调用getfsent()
时,我会获得有关根fs的信息,即" /"。
问题是我无法通过这种方式获得更多的挂载点。 man getfsent
建议我只需重复调用它来了解更多挂载点,但下一个调用返回NULL。我怀疑这个函数只返回实际的" / etc / fstab"文件包含,而不是OS X稍后动态安装的其他卷。
但是由于mount
命令可以列出这些额外的值,所以必须有一种方法。它是什么?或者,我可能只看一下源代码,但我无法弄清楚opensource.apple.com提供的许多下载内容。
更新:有关列出所有已装入卷的解决方案,请参阅How to iterate all mounted file systems on OSX。
答案 0 :(得分:0)
事实证明,为了学习特定文件卷的属性(例如文件系统类型),我还可以调用statfs()
并读出fstypename
字段。这样,我就不必遍历已安装的文件系统。我现在将编辑这个问题。