Размеры файлов и каталогов 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 *, то получится около 600 МБ не хватает команды du -hs .. Как мне выяснить, что вызывает 600 МБ? И почему между двумя командами такое большое расхождение?

решение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 *Это даст вам общую сумму, и вам не придется подсчитывать ее вручную.

Связанный контент