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

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

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

例如,如果我有一个文件

/media/xyz/path/to/file.ext

/etc/fstab包含

//server1/Share1 /media/xyz cifs option1=value1,...

如何确定该文件位于 Samba 共享上、是否具有本地路径/path/to/file.ext以及使用哪些选项挂载了文件系统?

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

答案1

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

stat --file-system --format="%T" /media/xyz/path/to/file.ext

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

答案2

如果我正确理解您的需求,并结合以前的答案,以下内容可能就是您所需要的。在脚本中定义(例如,在您的 .bashrc 中)-

findpart ()
{
df -h $1|sed 1d|cut -d" " -f1|xargs findmnt -n
}

然后你可以根据需要运行它

findpart /foo/file.ext

相关内容