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

Joh*_*ohn 4 bash du

当我运行 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
Run Code Online (Sandbox Code Playgroud)

如果将du -hs *输出的所有文件和目录大小加起来,则该du -hs .命令大约少了 600MB 。我如何找出导致 600MB 的原因?为什么这两个命令之间会有如此大的差异?

Gen*_*ene 6

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
Run Code Online (Sandbox Code Playgroud)

旁白:

为了让事情更容易,而不是du -hs *使用du -hsc *. 它将提供总数,因此您不必手动添加它。