繁体   English   中英

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

[英]Why does du give different results?

我经常使用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或不包括-h不应真正导致结果更改,仅引起大小格式变化。

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

sort命令不考虑K / M / G,而是在所有“ M”之前对所有“ K”进行排序。

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

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

也许蒙山-h你的目录大小是像2G4G ,同时文件保持1016K1008K ,和2小于1016 ,因此目录得到整理到列表的末尾。

如果没有-h ,则目录(实际上是目录树)的总大小显然会大于内部文件的大小,因此目录会排在列表的顶部。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM