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