我已经尝试过了杜奇,DF-H和df-h——总计但这一切都与文件夹的具体大小有关。需要知道如何以人类可读的形式获取总使用空间。希望得到您的帮助。提前致谢。
答案1
首先,让我们澄清一些事情。当你这样做时df -h --total
,有一些东西会显示虚拟文件系统,例如tmpfs
和udev
。我们并不完全想要那样,但我们想知道所有身体的文件系统。因此,我们只想过滤掉/dev
以下项目:
$ df -h | grep '^/dev/'
/dev/sda1 110G 77G 29G 74% /
/dev/sdb6 399G 223G 157G 59% /mnt/HDD
但也有一个问题:-h
以人类可读的格式给出总数。我们无法真正将包含字母的项目相加。grep
也无法执行计算。因此,让我们改为使用awk
,对第 3 列求和:
$ df --block-size=1 | awk '/^\/dev/{total+=$3}END{print total}'
320762605568
太棒了!现在我们只需要找到该数字的可读版本。我们总是可以在 awk 中编写代码来做到这一点,但是已经存在numfmt
实用程序。所以我们可以这样做:
$ df --block-size=1 | awk '/^\/dev/{total+=$3}END{print total}' | numfmt --to=iec-i --suffix=B --padding=7
299GiB
这就是你得到所有总数的方法身体的已安装的设备(df
默认显示)。
答案2
您需要像这样使用它:
df -h --total / | grep total | awk '{ print $3 }'
或者:
df -h --total . | grep total | awk '{ print $3 }'
结果:
599G