Linux上的getfsstat()相当于什么?

时间:2009-12-20 02:14:10

标签: linux filesystems mount

问题说明了一切。我想要C函数调用,它返回已挂载文件系统的列表以及文件系统类型等相关信息。

2 个答案:

答案 0 :(得分:6)

您正在寻找getmntent和其他*mntent函数系列。请参阅manpage以获取进一步的参考。

代码示例取自here并略有修改。 /etc/mtab是一个包含已安装文件系统列表的文件。

mounts = setmntent("/etc/mtab", "r");
while ( (ent = getmntent(mounts)) != NULL ){
    if (strcmp(ent->mnt_type, "iso9660") == 0)
       /* copy mount point to output */
       strcpy(retval[cd_count - 1], ent->mnt_dir);
    } /* if */
} /* while */
endmntent(mounts);

不幸的是,这些功能不在POSIX中。但它们是用glibc进行管理和实现的,所以我认为它们比解析/proc更好。

答案 1 :(得分:1)

您可以解析/proc/filesystems