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