Linux
檢查文件夾是否是已安裝的遠端文件系統
檢查給定文件夾是否位於 shell 腳本中已安裝的遠端 (nfs) 文件系統上的最佳方法是什麼(可靠、便攜等)?
我正在尋找一個看起來像這樣的命令:
chk-remote-mountpoint /my/path/to/folder
正如Stephane所說,“對此沒有通用的 Unix 答案”。
我發現我的問題的最佳解決方案:
df -P -T /my/path/to/folder | tail -n +2 | awk '{print $2}'
將返回文件系統類型,例如:
nfs
或ext3
.該
-T
選項**不是標準**的,因此它可能不適用於其他 Unix/Linux 系統…根據Gilles在下面的評論:“這適用於任何非嵌入式 Linux,但不適用於 BusyBox、*BSD 等。”
你可以使用 GNU
stat
。
%m
找出掛載點。$ stat --format=%m /usr/src/linux /usr/src
%T
(在文件系統模式下)找出文件系統的名稱。$ stat --file-system --format=%T /usr/src/linux reiserfs
因此,您知道
/usr/src/linux
,在我的系統上,它儲存在一個文件系統中,該文件系統已安裝/usr/src
並具有文件系統類型reiserfs
。另請參閱以
man stat
供進一步參考。這是一個非常通用的命令,當您需要有關文件的資訊並且不想回grep | awk
退到守衛時,它幾乎總是有用的。