
Der du command gehört zu den grundlegendsten Werkzeugen jedes Linux-Admins, Entwicklers oder Linux-Enthusiasten. Mit ihm lässt sich schnell und zuverlässig der belegte Speicherplatz in Verzeichnissen und Dateien ermitteln. In diesem Leitfaden erfahren Sie alles Wichtige rund um den du command – von den Grundlagen über praxisnahe Beispiele bis hin zu fortgeschrittenen Einsatzszenarien, nativen Optimierungen und plattformübergreifenden Tipps. Ziel ist es, dass Leserinnen und Leser den du command sicher anwenden, Fehler vermeiden und Effizienz gewinnen.
Grundlagen von du command
Was bedeutet du command?
Der Name des Tools kommt aus dem englischen „disk usage“. Das du command zeigt die Größe von Verzeichnissen und Dateien an und erlaubt dabei unterschiedliche Darstellungen, Summen oder Tiefenangaben. Es ist ein Standard-Werkzeug auf Unix-ähnlichen Systemen und wird häufig in Shell-Skripten verwendet, um Berichte über den Speicherverbrauch zu erzeugen.
Warum ist der du command unverzichtbar?
- Transparente Aufschlüsselung von Speicherverbrauch auf Verzeichnissebene.
- Einfach zu verwendende Optionen für menschlich lesbare Größen (human-readable) und Tiefenbegrenzung.
- Kompatibilität über viele Unix-Varianten hinweg – Linux, macOS, BSD.
- Leichte Integration in Automatisierung, Monitoring und Wartungsskripte.
Syntax und Optionen des du command
Grundsyntax
Die Standard-Syntax des du command lautet einfach:
du [Optionen] [Pfad]
Fehlerhafte Pfadangaben führen oft zu Meldungen wie „No such file or directory“. Daher ist es sinnvoll, Pfade vollständig anzugeben oder relative Pfade korrekt zu betrachten.
Wichtige Optionen im Überblick
- -h oder –human-readable: Größenangaben in lesbaren Einheiten wie K, M, G.
- -s oder –summarize: Nur die Gesamtsumme für das angegebene Verzeichnis ausgeben (kein rekursiver Baum).
- -a oder –all: Ausgabe auch für Dateien, nicht nur Verzeichnisse.
- –max-depth=N: Beschränkung der Tiefe der Anzeige bis zur Ebene N.
- -c oder –total: Abschlusszeile mit der Gesamtsumme aller angezeigten Elemente.
- -L oder –dereference: Verknüpfte Dateien statt der Verknüpfungspfade berücksichtigen.
- -B Größenblock: Legt die Blockgröße fest, z. B.
-B 1K,-B 1M. - -x oder –one-file-system: Nicht über Dateisystemgrenzen hinweg traversieren.
Beispiele zur Syntax
- Gesamtgröße eines Verzeichnisses in human-readable Form:
du -h -s /pfad/zum/verzeichnis - Aufschlüsselung aller Unterverzeichnisse bis zur Tiefe 2:
du -h --max-depth=2 /pfad/zum/verzeichnis - Alle Dateien und Verzeichnisse im Baum anzeigen, inklusive Symbolic Links:
du -h -L /pfad/zum/verzeichnis
Praxisbeispiele: Typische Anwendungsfälle des du command
Beispiel 1: Gesamter Speicherplatz eines Verzeichnisses anzeigen
Mit du -sh erhalten Sie eine kompakte, verständliche Angabe der Gesamtspeicherbelegung eines Verzeichnisses. Das ist praktisch, wenn in regelmäßigen Abständen Checkpoints erstellt werden sollen, z. B. beim Troubleshooting von Speicherplatzproblemen.
du -sh /home/benutzer
Beispiel 2: Tiefere Aufschlüsselung mit Max-Depth
Um die größten Unterverzeichnisse übersichtlich zu sehen, bietet sich die Option --max-depth an. Das ist besonders hilfreich, wenn Sie die Speicherverteilung in Projekteinheiten oder Abteilungen analysieren möchten.
du -h --max-depth=1 /var/www
Beispiel 3: Nur Dateien, keine Verzeichnisse
Wenn Sie neben Verzeichnissen auch Dateien sehen möchten, nutzen Sie -a. So erhalten Sie eine vollständige Liste aller Objekte und deren Größen.
du -ah /tmp
Beispiel 4: Wenn Symbolische Links eine Rolle spielen
Durch -L beachtet der du command auch symbolische Verknüpfungen und zeigt die Größen der verknüpften Dateien an. Ohne diese Option würden Verknüpfungen lediglich als Pfad angezeigt.
du -hL /home
Beispiel 5: Gesamtsumme aller angezeigten Größen
Mit -c lässt sich am Ende eine Gesamtsumme aller ausgegebenen Werte darstellen – hilfreich für Berichte oder Audit-Zwecke.
du -h --summa rize /etc | tail -n 1
Hinweis: In moderner Syntax bevorzugen viele Nutzer du -hc oder ähnliche Kombinationen je nach Shell-Skriptbedarf.
du command in der Praxis: Fehlerquellen und Stolpersteine
Zugriffsrechte und fehlende Berechtigungen
Auf Verzeichnisse, auf die der Benutzer keinen Zugriff hat, verweist der du command mit einer Meldung. In der Regel erscheinen solche Stellen als „Permission denied“. Lösungen sind temporär erhöhte Rechte (z. B. mit sudo) oder gezieltes Ausklammern geschützter Pfade.
Dateisysteme und Mountpoints
Bei gemischten Dateisystemen kann es sinnvoll sein, mit der Option -x nur ein Dateisystem zu berücksichtigen. Dadurch vermeiden Sie Verzerrungen durch Montagespunkte außerhalb des Zielpfads.
Große Verzeichnisse und Performance
Auf sehr großen Dateisystemen kann die Rekursion der Größenberechnung einige Zeit in Anspruch nehmen. Hier helfen Optionen wie --max-depth oder ein gezielter Blick auf Teilbereiche, um die Performance zu optimieren.
Vergleich mit ähnlichen Tools: Was leistet der du command im Vergleich?
du vs. df
Der du command zeigt den belegten Platzverbrauch innerhalb von Verzeichnissen. Der Befehl df hingegen gibt Auskunft über die gesamte Belegung eines Dateisystems bzw. Laufwerks. Beide Tools ergänzen sich ideal, wenn Sie ein vollständiges Bild der Speicherverwendung benötigen.
du command vs. ncdu
Ncdu ist eine ncurses-basierte Alternative, die interaktiv durch Verzeichnisse navigiert und eine sortierbare Aufstellung der Größen bietet. Für Skripte oder Automation bleibt der klassische du command die zuverlässige Wahl. Ncdu eignet sich hervorragend für interaktive Analysen am Terminal.
Tipps für effiziente Nutzung des du command
Automatisierung und Skripte
In regelmäßigen Wartungsfenstern lohnt sich die Automatisierung von Speicherberichte-Generierung. Beispielsweise können Sie Skripte writeen, die regelmäßig Verzeichnisse analysieren, Ergebnisse in Logs schreiben und bei Überschreitung von Grenzwerten Benachrichtigungen senden.
#!/bin/bash
VERZEICHNIS="/var/log"
LIMIT_GB=5
USAGE=$(du -sB1G "$VERZEICHNIS" | cut -f1)
if (( USAGE > LIMIT_GB )); then
echo "Warnung: $VERZEICHNIS verbraucht mehr als ${LIMIT_GB}GB"
fi
Zusammenarbeit mit find
Häufig wird der du command in Verbindung mit find genutzt, um nur bestimmte Dateitypen oder bestimmte Alterskriterien zu berücksichtigen. So lässt sich gezielt der Speicherplatz von großen Log-Dateien analysieren.
find /var/log -type f -name "*.log" -print0 | xargs -0 du -h --apparent-size -c
Berichte in Reports integrieren
Die Ausgabe des du command lässt sich problemlos in Text- oder HTML-Reports integrieren. Mit Formatoptionen und Shell-Textverarbeitung lässt sich eine konsistente Reporting-Pipeline erstellen.
Sicherheit und Best Practices beim Einsatz von du command
Prinzip der minimalen Berechtigungen
Nutzen Sie soweit möglich eingeschränkte Rechte, um Sicherheitsrisiken zu minimieren. Wenn notwendig, arbeiten Sie mit zeitlich begrenzten sudo-Rechten oder spezifischen Gruppenberechtigungen.
Richtiger Umgang mit vertraulichen Verzeichnissen
Verlässliche Protokolle und Zugriffskichtensicht sollten beachtet werden, besonders in Umgebungen mit sensiblen Daten. Vermeiden Sie das versehentliche Offenlegen von Speicherverbrauch auf privaten Bereichen in gemeinsamen Berichten.
Fortgeschrittene Anwendungsfälle
Nur die größten Dateien innerhalb eines Verzeichnisses finden
Durch Kombination von find und du lassen sich gezielt die größten Dateien ermitteln. Dies ist besonders hilfreich, um rasch Speicherplatzräuber zu identifizieren.
find /home -type f -printf "%s %p\n" | sort -nr | head -n 20
Aufschlüsselung nach Unterverzeichnissen mit Summen
Durch du -h --max-depth=1 erhalten Sie eine übersichtliche Einteilung der ersten Ebene, inklusive solcher Ordner, die besonders viel Platz verbrauchen. Das erleichtert Entscheidungen wie Bereinigungen oder Umstrukturierungen.
du command auf verschiedenen Plattformen
Linux
In Linux-Distributionen ist der du command standardmäßig vorhanden. Die meisten Optionen funktionieren plattformübergreifend, was die Portabilität von Skripten erhöht.
macOS
Auch macOS bietet den du command in der BSD-Variante. Die Optionen unterscheiden sich teils geringfügig, im Großen und Ganzen bleiben -h, -s und -d in der Praxis stabil nutzbar.
BSD und andere Unix-Varianten
Unter BSD-Systemen funktionieren ähnliche Flags; dennoch kann es Unterschiede geben, insbesondere bei Blockgrößen und bestimmten Erweiterungen. Prüfen Sie im Einzelfall die Manpage mit man du.
Windows mit WSL
Unter Windows kann der du command innerhalb von Windows Subsystem for Linux (WSL) genutzt werden. So lässt sich Speicherplatzanalysen nahtlos in Windows-Workflows integrieren.
Fehlerbehebung und Troubleshooting beim du command
Wie interpretieren sich gängige Meldungen?
Typische Meldungen wie „Permission denied“ oder „No such file or directory“ geben Hinweise auf Zugriffsprobleme oder fehlerhafte Pfadangaben. Prüfen Sie Berechtigungen, Pfade und eventuelle Mountpoints sorgfältig.
Leistung und Speicherbedarf der Abfragen
Bei sehr großen Dateisystemen kann eine einzelne Abfrage ressourcenintensiv sein. Planen Sie Ausführungsfenster so, dass keine anderen kritischen Prozesse beeinträchtigt werden. Für adhoc-Analysen genügt oft eine gezielte Recherche nach Top-Verzeichnissen.
Zusammenfassung: Der vielseitige Einsatz des du command
Der du command bleibt ein unverzichtbares Werkzeug im Repertoire jedes Linux-Nutzers. Von schnellen Gesamtsummen bis hin zu detaillierten Unterverzeichnis-Analysen bietet er robuste Funktionen, die sich perfekt in Skripte, Berichte und Interaktionen integrieren lassen. Durch den geschickten Einsatz der vorgestellten Optionen, Beispiele und Best Practices lässt sich der Speicherverbrauch effektiv überwachen, optimieren und managen — ganz gleich, ob Sie Systemadministrator, Entwickler oder IT-Manager sind.
Wenn Sie Ihre eigene Infrastruktur regelmäßig überwachen, empfiehlt sich der Aufbau einer kleinen Reporting-Pipeline rund um den du command. Kombinieren Sie ihn mit anderen Tools wie find, sort oder awk, um maßgeschneiderte Berichte zu erstellen, die Ihre Organisation wirklich voranbringen.