du command: Der umfassende Leitfaden zur Speicherplatz-Ermittlung mit dem klassischen Linux-Tool

Pre

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.