我经常使用du
命令。最近,我用它找出服务器根目录中最重的 5 个文件,我使用了以下命令:
sudo du -ah / | sort -nr | head -n 5
结果是:
1016K /var/cache/apt/archives/fonts-dejavu-core_2.35-1_all.deb
1016K /bin/bash
1008K /usr/src/linux-aws-headers-4.4.0-1052/fs
1008K /usr/src/linux-aws-headers-4.4.0-1049/fs
1004K /var/awslogs/lib/python2.7/site-packages/botocore/data/ec2/2016-09-15/
然后我删除了 -h,并观察到一个完全不同的结果:
sudo du -a / | sort -nr | head -n 5
结果:
2551396 /
1189240 /usr
894000 /var
541836 /usr/lib
406276 /var/lib
来自 du
的 man
页面,
-h, --human-readable
print sizes in human readable format (e.g., 1K 234M 2G)
根据我的理解,包含或排除 -h
不应该真正导致结果发生变化,只是大小格式发生变化。
你能帮我理解为什么会这样吗?
最佳答案
1016K
在数值上大于 2M
。 sort -n
仅提取 1016
和 2
。
如果您的排序支持,请尝试 sort -h
。
关于linux - 为什么 du 给出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169932/