web-dev-qa-db-ja.com

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

マウントされたファイルシステムの合計サイズのみを取得したい。ただし、問題は、マウントポイントについてのみ知っていることです。そこで、dfコマンドを使用することを考えました。

このマウントされたファイルシステムのサイズを取得するには、次のコマンドを実行しました。

df --output=target,size | grep -w /mnt/xyz

私が得た結果はこのようなものでした:

/mnt/xyz             4339044

cutの使い方は知っていますが、文字列と整数の間のスペースがわからないので、ここでは役に立ちませんでした。端末でこのサイズを印刷する方法はありますか?

5

あなたはgrepなしでそれを行うことができます:

df --output=target,size /mnt/xyz | awk ' NR==2 { print $2 } '

dfは、マウントポイントを引数として受け入れます。 awkに2行目のみ(NR == 2)と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" "
6
Rui F Ribeiro

findmntコマンドもあり、バイト数または「人間の」数を表示できます(悲しいことに、iso以外の略語で1024の累乗)。

$ findmnt -no size /mnt/xyz
 9.7G
$ findmnt -bno size /mnt/xyz
10434699264
4
meuh