linux - 为什么 du 给出不同的结果?

标签 linux shell command-line du

我经常使用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

来自 duman 页面,

-h, --human-readable
              print sizes in human readable format (e.g., 1K 234M 2G)

根据我的理解,包含或排除 -h 不应该真正导致结果发生变化,只是大小格式发生变化。

你能帮我理解为什么会这样吗?

最佳答案

1016K 在数值上大于 2Msort -n 仅提取 10162

如果您的排序支持,请尝试 sort -h

关于linux - 为什么 du 给出不同的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49169932/

相关文章:

linux - 如何通过python获取apache服务状态

git - Bash git别名选项卡完成错误

Python 代码在提示中工作,而不是在脚本中工作

linux - 我如何将 sed 与 unicode 字符一起使用

linux - shell 脚本中的性能问题

java - 当在命令行上设置一个没有值 ("-Dkey"的 Java 系统属性时,它会得到什么值?

linux - 过滤日志并将输出实时发送到新文件

javascript - npm 将所有依赖项和子依赖项放在同一个文件夹中

python - 如何从 python 中调用安装在 linux 上的程序?

python - 如何从 Shell 脚本获取循环变量以在 python 脚本中检索