df -- mac 的总命令?

df --total command for mac?

我想使用命令行检索一台机器上的总磁盘 space 作为一个值。在mostLinux机器上,"df --total"returns这样的值在常规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 os、redhat5、centos5 等存在相同问题

另一种解决方法?是否有另一个命令来隔离某些值?我主要是在寻找 "total% used" 值。

您必须自己计算该值,例如使用 awk:

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

分解

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