2008-11-17 88 views

回答

13

stat -f -c %T <filename>應該做你想做的。您可能還需要-l

2

您可以使用「DF-T」來獲得文件系統類型的目錄,或使用-t選項來限制到特定類型的報告(如NFS),如果它回來了「不處理任何文件系統」,那麼它不是你要找的那個。

df -T $dir | tail -1 | awk '{print $2;}' 
+1

不可移植的 - 「DF-T」不Solaris上運行,例如。 – 2008-11-17 19:28:35

+0

如果所有的網絡文件系統使用主機:路徑語義的設備名稱,那麼我想你可以檢查:在設備名稱或東西的效果即可。 – 2008-11-17 20:28:37

0

在某些系統中,設備號爲負NFS文件。因此,

print "remote" if (stat($filename))[0] < 0 
2

如果使用df上的一個目錄,僅保留設備的信息駐留在,例如對於當前目錄:

df . 

然後,你可以解析輸出,

df . | tail -1 | awk '{print $1}' 

獲取設備名稱。

1

我已經測試了solaris7,8,9 & 10以下,它似乎是可靠的

/bin/df -g <filename> | tail -2 | head -1 | awk '{print $1}' 

應該給你有FS型,而不是試圖以匹配「主機:路徑」中你的掛載點。

相關問題