当我运行 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 的原因?为什么这两个命令之间会有如此大的差异?
该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 *. 它将提供总数,因此您不必手动添加它。