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

Wil*_*ill 3 c unix bash

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

我会很高兴在第一次使用脚本,但想知道如何与C.系统调用做到这一点

And*_*ter 11

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

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

$ stat -f -c "%T" someFileOnNFS
nfs
Run Code Online (Sandbox Code Playgroud)

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

int statfs(const char *path, struct statfs *buf);
Run Code Online (Sandbox Code Playgroud)

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