如何检查 Linux 文件系统上所有已使用的空间?

如何检查 Linux 文件系统上所有已使用的空间?

我已经尝试过了杜奇DF-Hdf-h——总计但这一切都与文件夹的具体大小有关。需要知道如何以人类可读的形式获取总使用空间。希望得到您的帮助。提前致谢。

答案1

首先,让我们澄清一些事情。当你这样做时df -h --total,有一些东西会显示虚拟文件系统,例如tmpfsudev。我们并不完全想要那样,但我们想知道所有身体的文件系统。因此,我们只想过滤掉/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

相关内容