用於取得目前分割區/磁碟機安裝點路徑的命令?

用於取得目前分割區/磁碟機安裝點路徑的命令?

是否有一個替代命令可以執行與 相同的操作findmnt -T . -o TARGET |tail -n 1

範例:如果我目前的工作目錄是/media/username/HDD/subdir1/subdir2,該命令將輸出/media/username/HDD/

在Windows中,目前磁碟機/分割區的最高目錄的路徑是\(也/適用於指令),因為 Windows 確實使用磁碟機號碼而不是“一切都是文件”

Unix的工作方式更加統一和模組化,但是如何找到分區的掛載點呢?如果沒有比 更短的解findmnt -T . -o TARGET |tail -n 1,那就沒有問題。我只是想知道是否有其他方法。

答案1

看看man findmnt我看到一些建議,這些建議似乎可以在查找檔案系統的掛載點時滿足您的要求:

findmnt --first-only --noheadings --output TARGET --target "$PWD"
/home

或可讀性較差:

findmnt -fno TARGET -T "$PWD"
/home

答案2

如果您只是想自己找到它,而不是為了以後在變數中使用。你不會找到比以下更短的方法df .

$ df . 
Filesystem     1K-blocks      Used Available Use% Mounted on
/dev/sda6      343650580 232263752  93860660  72% /home

當然,它具有額外的詳細信息,因此不能用於直接將設備名稱保存到變數中。然而,它很容易解析:

$ df . | grep -Po '^/\S+'
/dev/sda6
$ df . | awk '/^\//{print $1}'
/dev/sda6

但如果你真的想要一個命令來列印它,那麼@roaima的findmnt將是最好的。

相關內容