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

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 .命令少了大约 600MB。我如何找出导致 600MB 的原因?为什么这两个命令之间存在如此大的差异?

答案1

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 *。它将提供总数,因此您不必手动将其加起来。

相关内容