Inkonsistente Ausgabe des Befehls "du"

373
Aren Tahmasian

Warum ist die Ausgabe von

du -sch ./ 

nicht identisch mit

du -sch ./* 

ZB lief du -schich im Home-Verzeichnis meines Benutzers und bekam 51 GB, aber du -sch *im selben Verzeichnis zu laufen, führt zu 47 GB. Zuerst dachte ich, dass es vielleicht verborgene Dateien berücksichtigt, aber das erklärt fast 4 GB an versteckten Dateien / Ordnern nicht.

Ich habe das Handbuch für das Festplatten-Dienstprogramm gelesen, konnte aber keine Erklärung finden.

0

1 Antwort auf die Frage

1
Kamil Maciorowski

Zuerst dachte ich, dass es vielleicht verborgene Dateien berücksichtigt, aber das erklärt fast 4 GB an versteckten Dateien / Ordnern nicht.

Wie haben Sie das gemessen? Ich glaube, Sie tun haben 4 GB versteckte Dateien / Verzeichnisse, oder vielleicht sogar mehr (in gewissem Sinne), wenn es beteiligt ist harte Links.

Dies wird Ihnen sagen (ich habe mich fallen gelassen -h, um genauere Ergebnisse zu erhalten; tailsoll nur die "Gesamtzahl" bestehen; getestet in bash):

du -sc ./.[^.]* | tail -n 1 # hidden du -sc ./* | tail -n 1 # non-hidden du -sc ./{.[^.],}* | tail -n 1 # hidden and non-hidden by wildcards du -sc ./ | tail -n 1 # directory as a whole 

(Syntax aus dieser Antwort entnommen ).

Der erste Befehl ist, was Sie vermissen. Holen Sie sich die Summe des ersten und des zweiten Ergebnisses. es wird gleich den letzten beiden Ergebnissen sein, es sei denn ...

Es sei denn, es gibt Hardlink-Dateien zwischen dem verborgenen und dem nicht verborgenen Teil. In diesem Fall ist die Summe noch größer, da diese Dateien bei der manuellen Summe zweimal gezählt werden, jedoch nur einmal, wenn dusie in einem einzigen Durchgang für Sie summiert werden . In diesem Fall wird von verborgenen Dateien / Verzeichnissen sogar noch mehr Speicherplatz beansprucht, als Sie denken (obwohl ein Teil dieses Speicherplatzes mit nicht verborgenen Teilen "geteilt" wird). Beachten Sie, dass es eine -lOption gibtdu, die dieses Verhalten steuert:

-l, --count-links
zähle die Größe oft, wenn sie fest verbunden ist

Hey Kamil, du hast absolut recht, es gab eine Reihe von Hardlinks, die ich nicht berücksichtigt hatte. Danke für die Hilfe und danke für die Info über du !! Ich werde sicherstellen, dass ich dies in meine Notizen einfügt:] Aren Tahmasian vor 6 Jahren 0