Linux: Große Dateien finden und Verzeichnisgrößen analysieren
Wenn der Festplattenspeicher knapp wird, ist die erste Frage: Wo sind die großen Dateien? Linux bietet mehrere leistungsfähige Werkzeuge, um Dateien über einer bestimmten Größe zu finden und Verzeichnisse nach ihrem Speicherverbrauch zu sortieren. Die Kombination aus find und du ist dabei unschlagbar schnell.
Dateien über einer bestimmten Größe finden
Mit find lassen sich Dateien ab einer bestimmten Größe suchen und übersichtlich ausgeben. Das folgende Beispiel findet alle Dateien größer als 200 MB im Verzeichnis /var/:
find /var/ -type f -size +200M -exec ls -lh {} ; 2>/dev/null | awk '{ print $NF ": " $5 }' | sort -nrk 2,2
Hinweis: Die Größenangabe in find verwendet k für Kilobyte, M für Megabyte, G für Gigabyte. +200M bedeutet „größer als 200 MB“. Der ursprüngliche Befehl mit +20000k entspricht ~20 MB.
Die zehn größten Verzeichnisse finden mit du
du (Disk Usage) zeigt den Speicherverbrauch von Verzeichnissen an. Kombiniert mit sort und head erhält man schnell die größten Verbraucher:
# Top 10 Verzeichnisse nach Größe
du -a /var | sort -n -r | head -n 10
# Lesbarere Ausgabe mit menschenlesbaren Größen (nur erste Ebene)
du -h --max-depth=1 /var | sort -rh | head -n 10
Gesamte Festplattennutzung im Überblick
Bevor man in die Details geht, lohnt sich ein schneller Überblick über alle eingehängten Dateisysteme:
# Übersicht aller Dateisysteme
df -h
# Nur lokale Dateisysteme, ohne tmpfs
df -h --type=ext4 --type=xfs
Typische Verdächtige unter Linux
Auf Linux-Servern füllen sich bestimmte Verzeichnisse besonders schnell:
# Log-Dateien prüfen
du -h --max-depth=2 /var/log | sort -rh | head -n 20
# Alte Kernel-Images prüfen
du -h /boot
dpkg -l linux-image* | grep ^ii
# Docker-Images und -Container
docker system df
# Temporäre Dateien
du -h /tmp
du -h /var/tmp
Alte Log-Dateien aufräumen
Log-Dateien sind häufig der größte Speicherfresser. Mit journalctl lassen sich systemd-Logs beschränken:
# Aktuelle Log-Größe anzeigen
journalctl --disk-usage
# Logs älter als 7 Tage löschen
sudo journalctl --vacuum-time=7d
# Logs auf maximal 500 MB beschränken
sudo journalctl --vacuum-size=500M
ncdu: Interaktiver Speicherplatz-Analyzer
Für komfortablere Analyse empfiehlt sich ncdu – ein interaktiver, curses-basierter Festplatten-Analyzer:
apt-get install ncdu
ncdu /var
Weitere Tipps zur Linux-Serverwartung gibt es in der Kategorie Linux & Server. Wer regelmäßige Aufräumarbeiten automatisieren möchte, findet im Beitrag Linux Server Backup ergänzende Strategien.


