マウントされたファイルシステムのサイズのみを取得する

マウントされたファイルシステムのサイズのみを取得する

マウントされたファイルシステムの合計サイズのみを取得したいのですが、問題はマウントポイントしか知らないことです。そこで、 コマンドを使用することを考えました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マウント ポイントを引数として受け入れます。2awk行目のみ (NR==2) と 2 番目の引数 $2 の両方を印刷するように指示できます。

あるいは、出力しないターゲットをカットすると、次のようになります。

df --output=size /mnt/xyz | awk ' NR==2 '

私も初心者の頃は、次のように (squeeze)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

関連情報