Der du
Der Befehl, kurz für „Festplattennutzung“, gibt die geschätzte Menge an Speicherplatz an, die von bestimmten Dateien oder Verzeichnissen verwendet wird. Es ist praktisch nützlich, um Dateien und Verzeichnisse zu finden, die viel Speicherplatz belegen.
Verwendung des du
Befehl #
Die allgemeine Syntax für du
Befehl lautet wie folgt:
du [OPTIONS]... FILE...
Wenn die angegebene FILE
ist ein Verzeichnis, du
fasst die Festplattennutzung jeder Datei und jedes Unterverzeichnisses in diesem Verzeichnis zusammen. Wenn kein FILE
angegeben ist, du
meldet die Festplattennutzung des aktuellen Arbeitsverzeichnisses.
Bei Ausführung ohne Option du
zeigt die Festplattennutzung der angegebenen Datei oder des angegebenen Verzeichnisses und jedes seiner Unterverzeichnisse in Bytes an.
du ~/Documents
Sie können auch mehrere Dateien und Verzeichnisse an du
übergeben Befehl als Argumente:
du ~/Documents ~/Pictures ~/.zshrc
Wenn Sie du
ausführen Bei einer Datei oder einem Verzeichnis, für das Sie keine Berechtigungen haben, erhalten Sie so etwas wie „du:kann Verzeichnis nicht lesen“. In dieser Situation müssen Sie dem Befehl sudo
voranstellen .
du
hat viele Optionen, wir werden nur die am häufigsten verwendeten skizzieren.
Das -a
Option teilt du
mit um die Speicherplatznutzung jeder Datei innerhalb des Verzeichnisses zu melden.
du -a ~/Documents
Normalerweise möchten Sie nur den vom angegebenen Verzeichnis belegten Speicherplatz in einem für Menschen lesbaren Format anzeigen. Verwenden Sie dazu das -h
Option.
Zum Beispiel, um die Gesamtgröße von /var/lib
zu erhalten und all seinen Unterverzeichnissen würden Sie den folgenden Befehl ausführen:
sudo du -h /var
Wir verwenden sudo
weil die meisten Dateien und Verzeichnisse in /var/lib
Verzeichnis gehören dem Root-Benutzer und sind für normale Benutzer nicht lesbar. Die Ausgabe sieht in etwa so aus:
...
4.0K /var/lib/apt/mirrors/partial
8.0K /var/lib/apt/mirrors
205M /var/lib/apt
2.9G /var/lib/
Um nur die Gesamtgröße des angegebenen Verzeichnisses und nicht Unterverzeichnisse zu melden, verwenden Sie das -s
Möglichkeit:
sudo du -sh /var
2.9G /var
Das -c
Option teilt du
mit eine Gesamtsumme zu melden. Dies ist nützlich, wenn Sie die kombinierte Größe von zwei oder mehr Verzeichnissen erhalten möchten.
sudo du -csh /var/log /var/lib
1.2G /var/log
2.9G /var/lib
4.1G total
Wenn Sie die Festplattennutzung der n-Level-Unterverzeichnisse anzeigen möchten, verwenden Sie den --max-depth
Option und geben Sie die Ebene der Unterverzeichnisse an. Um beispielsweise einen Bericht über die Verzeichnisse der ersten Ebene zu erhalten, würden Sie Folgendes verwenden:
sudo du -h --max-depth=1 /var/lib
...
544K /var/lib/usbutils
4.0K /var/lib/acpi-support
205M /var/lib/apt
2.9G /var/lib
Das Standardverhalten von du
Dienstprogramm ist es, den vom Verzeichnis oder der Datei belegten Speicherplatz neu zu bestimmen. Um die scheinbare Größe einer Datei zu finden, verwenden Sie --apparent-size
schalten. Die „scheinbare Größe“ einer Datei gibt an, wie viele Daten sich tatsächlich in der Datei befinden.
sudo du -sh --apparent-size /var/lib
2.9G /var/lib
du
erlaubt Ihnen auch, Shell-Muster zu verwenden. Um beispielsweise die Größe aller Verzeichnisse zu erhalten, die mit „Do“ in Ihrem Home-Verzeichnis beginnen, würden Sie Folgendes ausführen:
sudo du -csh ~/Do*
102M /home/linuxize/Documents
358M /home/linuxize/Downloads
460M total
Mit du
mit anderen Befehlen #
Der du
Befehl kann mit anderen Befehlen mit Pipes kombiniert werden.
Zum Beispiel, um die 5 größten Verzeichnisse innerhalb von /var
zu drucken Verzeichnis würden Sie die Ausgabe von du
übergeben zum sort
Befehl, um die Verzeichnisse nach ihrer Größe zu sortieren und die Ausgabe dann an head
zu leiten Befehl, der nur die obersten 5 Verzeichnisse druckt:
sudo du -h /var/ | sort -rh | head -5
4.6G /var/
2.9G /var/lib
2.6G /var/lib/snapd
1.7G /var/lib/snapd/snaps
1.2G /var/log/journal/af8ce1d394b844fea8c19ea5c6a9bd09
Schlussfolgerung #
Inzwischen sollten Sie ein gutes Verständnis für die Verwendung von du
haben Befehl.
im Gegensatz zu df
der Informationen über die Plattenbelegung der gemounteten Dateisysteme ausgibt, der du
Der Befehl gibt Ihnen eine Schätzung des Speicherplatzes, der von bestimmten Dateien oder Verzeichnissen verwendet wird.
Sie können alle verfügbaren du
anzeigen Befehlsoptionen durch Eingabe von man du
in Ihrem Terminal.
Wenn Sie Fragen oder Feedback haben, hinterlassen Sie bitte unten einen Kommentar.