
查找有關文件的文件系統資訊的最佳方法是什麼。
例如,如果我有一個文件
/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