获取存储文件的文件系统类型

时间:2013-02-13 09:01:18

标签: c bash unix

如何确定存储文件的文件系统类型?我可能有文件名,或者稍后只是一个描述符。

我很乐意首先使用脚本,但希望知道如何使用C语言中的系统调用来实现。

1 个答案:

答案 0 :(得分:10)

在命令行/脚本中,您可以使用stat

$ stat -f -c "%T" someFileOnExt2Ext3
ext2/ext3

$ stat -f -c "%T" someFileOnNFS
nfs

这最终会导致statfs(2)系统调用:

int statfs(const char *path, struct statfs *buf);
  

函数statfs()返回有关已安装文件系统的信息。   path是已装入文件系统中任何文件的路径名,buf   是指向statfs结构的指针。