
Wenn ich den Bash-Befehl ausführe du -hs .
, lautet die Ausgabe
1.2G .
Wenn ich den Bash-Befehl ausführe du -hs *
, lautet die Ausgabe
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
Wenn Sie die gesamte Datei- und Verzeichnisgröße der Ausgabe zusammenzählen du -hs *
, fehlen etwa 600 MB zum du -hs .
Befehl. Wie finde ich heraus, was die 600 MB verursacht? Und warum gibt es eine so große Diskrepanz zwischen den beiden Befehlen?
Antwort1
Der du -hs *
Befehl meldet nur Dateien, die diesem Platzhalter entsprechen. Dieser Platzhalter schließt keine Dateien oder Verzeichnisse ein, die mit einem Punkt beginnen.
Der dh -sh
Befehl überprüft .
(das aktuelle Verzeichnis), sodass alles in diesem Verzeichnis überprüft wird, einschließlich aller Dateien, die mit einem Punkt beginnen.
Zum Beispiel:
$ 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
Eine Anmerkung:
du -hs *
Verwenden Sie zur Vereinfachung statt du -hsc *
. Dadurch wird ein Gesamtbetrag angezeigt, den Sie nicht manuell addieren müssen.