是否有一個快速和骯髒的方式告訴編程,在shell腳本或Perl中,路徑是否位於遠程文件系統(NFS等)或本地的?或者是解析/ etc/fstab並檢查文件系統類型的唯一方法嗎?如何判斷文件是否在使用Perl的遠程文件系統上?
11
A
回答
13
stat -f -c %T <filename>
應該做你想做的。您可能還需要-l
2
您可以使用「DF-T」來獲得文件系統類型的目錄,或使用-t選項來限制到特定類型的報告(如NFS),如果它回來了「不處理任何文件系統」,那麼它不是你要找的那個。
df -T $dir | tail -1 | awk '{print $2;}'
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型,而不是試圖以匹配「主機:路徑」中你的掛載點。
相關問題
- 1. 如何判斷文件是否是使用PHP的文本?
- 2. 如何判斷使用Winsock(VB6)是否已達到遠程文件的結尾?
- 3. 如何在Windows上使用Python訪問遠程文件系統?
- 4. 總是返回假,而判斷文件是否存在在Perl
- 5. 如何判斷文件是否是nv12格式的文件?
- 6. 使用powershell檢查遠程系統中是否存在文件/文件夾
- 7. 如何判斷URL是本地文件路徑還是遠程文件路徑
- 8. 如何判斷一個FTP文件是否存在使用ruby?
- 9. 如何判斷文本框是否專注於操作系統?
- 10. 遠程Windows系統上的文件IO
- 11. PHP:判斷文件是否存在?
- 12. 如何判斷文件是否是Linux內核編程中的「..」文件?
- 13. 如何使用Perl檢查遠程服務器上是否存在文件?
- 14. 如何判斷是否使用stream_copy_to_stream下載了整個文件?
- 15. 如何判斷某個Excel文件是否使用VB.NET打開?
- 16. 如何在Java中使用遠程Unix系統「tail -f」文件?
- 17. 使用Java在遠程系統上執行批處理文件
- 18. 在Perl中有一種方法可以判斷一個perl進程是否在使用特定的文件
- 19. 如何判斷一個Windows PE文件是編程控制檯子系統還是Windows子系統?
- 20. 如何判斷兩個圖像文件在Perl中是否相同?
- 21. 如何判斷是否存在具有此名稱的文件?
- 22. 用Monit監控遠程文件系統
- 23. 使用python2.7移動遠程文件系統上的文件(目錄到目錄)
- 24. 如何判斷文件名是否是目錄,而不是文件
- 25. 判斷文件是否是FTP服務器上的目錄
- 26. 使用JNotify庫,如何判斷刪除的文件是文件還是目錄?
- 27. 如何在C#中判斷系統是否支持觸摸
- 28. Windows bat腳本:如何判斷文件是否存在?
- 29. 如何判斷在SVN中忽略文件是否被忽略?
- 30. 如何判斷文件是否在Android中進行讀寫?
不可移植的 - 「DF-T」不Solaris上運行,例如。 – 2008-11-17 19:28:35
如果所有的網絡文件系統使用主機:路徑語義的設備名稱,那麼我想你可以檢查:在設備名稱或東西的效果即可。 – 2008-11-17 20:28:37