我只想取得已安裝檔案系統的總大小。但問題是我只知道掛載點。於是,我想到了使用df
指令。
為了取得已安裝檔案系統的大小,我執行了以下命令:
df --output=target,size | grep -w /mnt/xyz
我得到的結果是這樣的:
/mnt/xyz 4339044
我知道如何使用,cut
但這裡沒有用,因為我不知道字串和整數之間的空格。有沒有辦法在終端機上列印這個尺寸?
答案1
您可以在沒有以下內容的情況下做到這一點grep
:
df --output=target,size /mnt/xyz | awk ' NR==2 { print $2 } '
df
接受安裝點作為參數;您可以告訴 toawk
僅列印第二行 (NR==2) 和第二個參數 $2。
或者更好的是,在不輸出目標時剪切目標,它會變成:
df --output=size /mnt/xyz | awk ' NR==2 '
當我還是個初學者時,我也確實設法cut
使用(擠壓)來減少冗餘空間來繞過限制tr -s " "
,如下所示:
df --output=target,size /mnt/xyz | tail -1 | tr -s " " | cut -f2 -d" "
答案2
還有一個findmnt
命令,它可以列印位元組數或「人類」數字(不幸的是,帶有非 iso 縮寫的 1024 的冪):
$ findmnt -no size /mnt/xyz
9.7G
$ findmnt -bno size /mnt/xyz
10434699264