
當我運行 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 *
.它將提供總計,因此您無需手動新增。