2017-02-08 12 views
-1

コマンドラインを使用して、マシン上の合計ディスク容量を1つの値として取得します。ほとんどのLinuxマシンでは、 "df - total"は通常のdf出力の最後にそのような値を返します。df --totalコマンドfor mac?

osx9,10,11,12では、このようなオプションがないようです。

[u'df: illegal option -- -\n', u'usage: df [-b | -H | -h | -k | -m | -g | -P] [-ailn] [-T type] [-t] [filesystem ...]\n'] 

古いLinux OS、redhat5、centos5と同じ問題など

これにアプローチする別の方法?特定の値を分離する別のコマンドがありますか?私は主に "使用された%の合計"値を探しています。

答えて

1

自分で値を計算する必要があります。 awkを使用して:AWKの

df | awk ' 
    BEGIN { SIZE=0; USED=0; AVAILABLE=0 } 
    // { print } 
    $3~/[0-9]/ { SIZE += $2; USED += $3; AVAILABLE += $4 } 
    END { printf "total\t%lu\t%lu\t%lu\t%d%%\n", SIZE, USED, AVAILABLE, (USED * 100/SIZE); }' 

それを打破するために

  • ライン1は、スタート時の変数を設定し、
  • ライン2枚のプリントすべての行は、(私はそれが明示的に作ってるんだ)、
  • 私は3列目の数が
  • 線4は
  • --totalの行に幾分似ている)の総 '行を印刷終了時に言う合計に追加見つけた場合
  • ライン3は言います