如何获取特定文件的文件系统信息?

kba*_*kba 8 mount posix

找出有关文件的文件系统信息的最佳方法是什么。

例如,如果我有一个文件

/media/xyz/path/to/file.ext
Run Code Online (Sandbox Code Playgroud)

/etc/fstab包含

//server1/Share1 /media/xyz cifs option1=value1,...
Run Code Online (Sandbox Code Playgroud)

我如何确定文件是否在 Samba 共享上,它具有本地路径/path/to/file.ext以及文件系统安装的选项?

正在解析mount便携式解决方案的输出吗?还是解析findmnt?是否有符合 POSIX 标准的方法来实现这一目标?

Mar*_*tri 1

stat(1) 是一种查找其中一些信息的便携式方法,例如:

stat --file-system --format="%T" /media/xyz/path/to/file.ext
Run Code Online (Sandbox Code Playgroud)

其他一切都非常特定于操作系统,在最新的 Linux 系统上,您可以轻松地findmnt --output在脚本中使用。