du -hs *的文件和目录大小与du -hs不一致

当我运行bash命令du -hs . ,输出是

1.2G .

当我运行bash命令du -hs * ,输出是

 108K action 4.0K activate.php 8.0K browse.php 584K captcha 164K class 4.0K clearcache 388K cms 4.0K comment.complete.php 4.0K contact.php 530M docs 116K documentation 24K DONE.txt 21M em 4.0K footer.php 4.0K forgot.php 4.0K header.php 196K images 264K includes 8.0K index.php 168K js 4.0K login.php 4.0K logout.php 4.0K mail.confirmation.php 4.0K mail.php 4.0K news.item.php 4.0K news.php 4.0K profile.edit.php 4.0K profile.php 4.0K reset.confirmation.php 4.0K robots.txt 4.0K signup.confirmation.php 4.0K signup.php 4.0K svnstatus 4.0K svnunknown 4.0K TODO.txt 16M tpl 

如果将du -hs *输出的所有文件和目录大小du -hs * ,则与du -hs .约600MB du -hs . 命令。 如何找出造成600MB的原因? 为什么两个命令之间有这么大的差距呢?

du -hs *命令只会报告与通配符匹配的文件。 该通配符将不包含以句点开头的任何文件或目录。

dh -sh命令将会检查. (当前目录),因此它将检查该目录下的所有内容,包括任何以句点开头的文件。

例如:

 $ du -shc * 2.0M file.1 4.0M file.2 5.9M file.3 12M total $ du -shc 24M . 24M total $ ls -la total 48576 drwxr-xr-x 8 John Bovi 272 Aug 20 14:26 . drwxr-xr-x 243 John Bovi 8262 Aug 20 14:25 .. -rw-r--r-- 1 John Bovi 2097152 Aug 20 14:26 .file.1 -rw-r--r-- 1 John Bovi 4145152 Aug 20 14:26 .file.2 -rw-r--r-- 1 John Bovi 6193152 Aug 20 14:26 .file.3 -rw-r--r-- 1 John Bovi 2097152 Aug 20 14:26 file.1 -rw-r--r-- 1 John Bovi 4145152 Aug 20 14:26 file.2 -rw-r--r-- 1 John Bovi 6193152 Aug 20 14:26 file.3 

一边:

为了使事情更容易,而不是du -hs *使用du -hsc * 。 它将提供一个总数,所以你不必手动添加它。