回答:
組み込みのツールがあるかどうかはわかりませんが、予約をデフォルトの5%のままにしておくと、次のようになります。
df / | grep dev | cut -f 3,6 -d\ | awk '{print ($1*.05)+$2}'
df
ルート、grep
devが含まれている行(ヘッダーを削除するため)、cut
サイズ、および使用可能なフィールド。次に、awk
スクリプトを使用して、使用可能なディスクサイズの5%を計算します。
tune2fs -l <device>
スクリプトから実際の予約を引き出し、上記と組み合わせることができます。
cut
コマンドを使用する必要はありませんawk
。直接フィールドを選択できます。実際、cut
コマンドは期待どおりに機能しませんでした。とにかく、私はもっと正確な答えを与えるはずの別の答えを出しました。
tune2fs -m <percentage> <device-name>
rootでの使用にのみ予約されているディスク容量を変更するために実行します。
sudo tune2fs -l $(df | grep -E '/$' | cut -d\ -f 1) | egrep "Reserved block count|Block size" | paste -sd\ | awk '{print ($4 * $7 / ( 1024 * 1024 ) ), "MB"}'
tune2fs /dev/sda1
またはそれ以上stat -f -c '%a blocks free and %f blocks free for root (%S bytes per block)' /
コマンドtune2fs(/ sbin / tune2fsにあります)を使用すると、予約済みスペースを簡単に判別できます:(およびその他!)
tune2fs -l /dev/sda1
システムの情報を参照用に提供します。この質問にとって重要ではない無関係な行を削除します。
ヘッダー...とボリューム名、すべてのドライブにラベルを付け、必要に応じて簡単に識別できるようにしています。
tune2fs 1.42.4 (12-Jun-2012)
Filesystem volume name: xenon
Last mounted on: /
...
システムが稼働している間は、本当にこれを「クリーン」と言ってほしい。正直!
Filesystem state: clean
ここから、データストレージ容量の情報が始まります。
ここで、合計121,179,648ブロックがあることを確認できます。ブロックサイズは4K(4096)で、いくつかの大きな数値(462ギッシュGB)に乗算されます。(ブロックサイズは以下に記載されています)
Block count: 121179648
そして、予約済みブロック...上記の数と以下の数を見ると、1%が予約済みであることが比較的迅速にわかるはずです。この場合(4.62-ish GB)
Reserved block count: 1211796
現在、どのくらいの空き容量がありますか?ここだよ!
Free blocks: 104090586
...
そして、すべての重要なブロックサイズ。乗算に便利です。
Block size: 4096
...
これらの行は、ブロックが予約されているWHOを示しています...この場合、ユーザー0、ルート、
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
...
ここにはさらに多くの情報がありますが、これにより、どれだけの量が利用可能で、どれだけ多くのものがroot用に予約されているかをすばやく確認できるようになります。簡単な数学。
お役に立てれば。覚えておいてください... manページはあなたの友達です。
これは、「/ path」に関連するパーティションの空きスペースをバイト単位で表示します
printf '%s' $(($(stat -f --format='%f*%S' /path)))
実行するためにスーパーユーザーである必要はありません。
ところで私はどういう違いがあるのかよくわかりません
%sブロックサイズ(高速転送用)
%S基本ブロックサイズ(ブロックカウント用)
の使用中stat
。
bc
てバイト数を取得したり、--format='%f*%S/1024/1024/1024' | bc
選択した分割数に応じてキロバイト/メガバイト/ギガバイトを取得したりすることもできます。
$(( ... ))
が計算を行いますが、結果は商の整数部分のみになります(除算を追加した場合)。または、シェルが算術展開をサポートしていないということですか?
bc
代わりにを使用すると、必要に応じて任意の精度で商を取得できます。
tune2fs -l /dev/DEVICE | egrep "Block count|Reserved block count"
。たとえば、「マルチメディアバッファー」パーティションの場合:Block count: 2621440
とReserved block count: 128449
:使用可能なブロックの4.9%(断片化を防ぐための控えめな設定)。