選択したパーティションのみを表示するディスク使用量は?


0

特定のパーティションのディスク使用量をGB単位で、その後は%単位でのみ表示できるようにしたいと思います。基本的に、スワップ、tmpfsなどを無視します。

また、ディスク使用量を合計し、合計から減算して空き領域を取得したいと思います。

現在、私はこのようなものを持っていますが、awkを使用して、カウントしたいパーティションを選択する方法がわかりません。

df -h | awk '$5 ~ /\%$/ print $1 " " $5}'

これはdebianシステム用です。

編集:

結果を制限するために/を使用できることがわかりましたが、これはどれだけ無料かを示しています。

df -h / | awk '{ a = $4 } END { print a }'

なぜ単純ではないのですgrepか?
グロノスタジュ

コマンドに詳しくない
-debianusr

「ディスクの使用量を合計し、合計から差し引いて空き容量を増やしたい」。コラムでdf -h既に提供されているものとどのように違いAvailますか?
John1024

df引数としてマウントポイントを受け入れる必要があります。マウントポイントより下のディレクトリまたはファイルである場合もあります。その後、ツールは適切なマウントポイントの情報のみを表示します。試してください:df -h /tmpまたはdf -h /dev/urandom。その方法で複数の引数を指定できます。
カミルマシオロウスキ16

知ってるよdf -x tmpfsね?
-grawity

回答:


1

あなたが何をしようとしているのかわかりませんawkが、あなたは不必要に表現を複雑にしています。ファイルシステム、空き領域、占有率を出力するために必要なのは次のとおりです。

df -h /|awk '{ print $1, $4, $5 }'

ただし、これはヘッダーをデータに合わせません。配置を保持するには、次のようなものを使用します。

df -h /|awk '{ printf "%-60s %6s %6s\n", $1, $4, $5 }'

ここでは、システムディスクがUUIDでリストされているため、最初の広いフィールドを使用しました。占有率ではなく空き領域の割合を表示するには、次を使用できます。

df -h /|awk '{ printf $5=="Use%"?"%-60s %6s   Free%%\n":"%-60s %6s %6s%%\n", $1, $4, 100-$5 }'

この場合、%算術式では符号は無視されます。私dfが推測したように、パーセンテージを最も近い整数に丸めるのはわかりません。それは切り捨てた場合は、100-$5切り上げ、その代わりに使用される99-$5空き領域を取得するためには切り捨て。


0

質問は、目的の出力が正確に何であるかを示していませんが、これはあなたが望むものと一致するようです:

df -h | grep -E --color=never 'Filesystem|/dev/'

文字列Filesystemは、出力に人間に優しい列ヘッダーが表示されるように含まれています。この/dev/文字列は、udevシステムとtmpfsシステムを排除するために含まれています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.