ファイルのファイルシステム情報を見つけるための最良の方法は何ですか?
たとえば、ファイルがある場合
/media/xyz/path/to/file.ext
そして/etc/fstab
包含
//server1/Share1 /media/xyz cifs option1=value1,...
/path/to/file.ext
ファイルがSamba共有に存在するか、ローカルパスがあるか、ファイルシステムをマウントするためにどのオプションが使用されているかをどのように確認できますか?
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