GNU/Linux >> Linux の 問題 >  >> Linux

df で空きディスク容量を取得して、空き容量を kb で表示するだけですか?

df の出力を取得するには データを kb で表示するには、-k を使用するだけです フラグ:

df -k

また、ファイルシステムを df に指定すると 、すべてではなく、その特定の値を取得します:

df -k /example

質問の本文について:特定のファイルシステムの空きディスク容量を抽出したいと考えています。これにはいくつかの処理が必要です。

通常の df -k を考えると 出力:

$ df -k /tmp
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda1        7223800 4270396   2586456  63% /

Available を取得できます (4 列目) たとえば awk の場合 または cut (以前は tr にパイプしました squeeze-repeats へ (-s ) スペース):

$ df -k /tmp | tail -1 | awk '{print $4}'
2586456
$ df -k /tmp | tail -1 | tr -s ' ' | cut -d' ' -f4
2586456

いつものように、結果を変数に格納する場合は、var=$(command) を使用します 次のような構文:

$ myUsed=$(df -k /tmp | tail -1 | awk '{print $4}')
$ echo "$myUsed"
2586456

また、Tim Bunce のコメントから、 --direct を使用して長いファイルシステム名を処理できます - を取得するには 代わりに、エンジンを壊す行を出力しないようにします:

$ df -k --direct /tmp
Filesystem     1K-blocks    Used Available Use% Mounted on
-                7223800 4270396   2586456  63% /

stat(2) コマンドを使用して空きブロックを表示したり、各ブロックの大きさを調べたりできます。たとえば、

stat -f --printf="%a %s\n" /

特定のファイル システム (/) の空きブロック数 (%a) に続いてブロック サイズ (%s) が表示されます。サイズを kB で取得するには、次の例のように bc(1) コマンドを使用できます:

stat -f --printf="%a * %s / 1024\n" / | bc

最後に、これを変数に入れるには、バックティック置換 (または最初の回答のように $() ) を使用するだけの問題です:

SOMEVAR=`stat -f --printf="%a * %s / 1024\n" / | bc`

Linux
  1. Linuxでdfを使用して空きディスク容量を確認します

  2. Linuxでduを使用して使用済みディスク容量を確認する

  3. サーバーにどのくらいの空きディスク容量が必要ですか?

  1. CloudWatchを使用してAmazonEC2の空きディスク容量を監視する方法

  2. 未使用のスペースをゼロ(ext3、ext4)でクリアしますか?

  3. FreeBSDサーバーの空きディスク容量の確認

  1. 方法:ディスク領域を解放して予約ブロックを減らす

  2. Linux でディレクトリの空きディスク領域をプログラムで取得する方法

  3. bash で現在のパーティションの空きディスク容量を確認する