df - mac的总命令?

时间:2017-02-08 16:07:52

标签: linux macos command diskspace

我想使用命令行将计算机上的总磁盘空间检索为一个值。在大多数Linux机器上,“df --total”在常规df输出的末尾返回这样的值。

在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操作系统,redhat5,centos5等相同的问题

另一种解决方法?是否有另一个命令来隔离某些值?我主要是在寻找“总使用百分比”值。

1 个答案:

答案 0 :(得分:1)

您必须自己计算价值,例如使用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); }'

将其分解

  • awk的第1行在开始时设置变量
  • 第2行打印每一行(我明确表示),
  • 第3行说如果我在第三列中找到一个数字,则将其添加到总计
  • 第4行说最后打印一个'总'行(有点类似于--total的行)