Festplatte voll? Oft sind es große Log-Dateien, vergessene Backups oder VM-Images, die den Speicher fressen. Mit find und du findest du die Übeltäter in Sekunden.

Mit find nach großen Dateien suchen

Der find-Befehl durchsucht Verzeichnisse nach bestimmten Kriterien. Mit der Option -size filterst du nach Dateigröße.

Dateien über 100 MB im aktuellen Verzeichnis finden:

find . -xdev -type f -size +100M

Die Optionen im Detail:

  • . – Startverzeichnis (ersetze durch beliebigen Pfad)
  • -xdev – Bleibt auf dem aktuellen Dateisystem (überspringt gemountete Laufwerke)
  • -type f – Nur Dateien, keine Verzeichnisse
  • -size +100M – Größer als 100 Megabyte

Die Ausgabe zeigt nur die Pfade:

/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2

Ergebnisse nach Größe sortieren

Die Pfade allein sagen wenig. Kombiniere find mit ls und sort, um die Größen zu sehen und nach Größe zu sortieren:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r

Beispielausgabe:

-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop.img
-rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04.img

Was passiert hier:

  • xargs ls -lh – Führt ls -lh auf jeder gefundenen Datei aus
  • sort -k5,5 -h -r – Sortiert nach der fünften Spalte (Größe), menschenlesbar (-h), absteigend (-r)

Nur die Top 10 anzeigen

Bei vielen Treffern begrenzt head die Ausgabe:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head

Weitere Filteroptionen

find kann mehr als nur nach Größe filtern:

# Dateien über 500 MB, älter als 30 Tage
find /var -xdev -type f -size +500M -mtime +30

# Große Log-Dateien
find /var/log -xdev -type f -size +50M -name "*.log"

# Große Dateien eines bestimmten Benutzers
find /home -xdev -type f -size +100M -user max

Mit du die größten Verzeichnisse finden

Der du-Befehl (disk usage) zeigt den Speicherverbrauch von Verzeichnissen. Das ist nützlich, wenn du nicht einzelne Dateien suchst, sondern wissen willst, welche Ordner am meisten Platz belegen.

Die fünf größten Einträge im aktuellen Verzeichnis:

du -ahx . | sort -rh | head -5

Beispielausgabe:

55G .
24G ./.vagrant.d/boxes
24G ./.vagrant.d
13G ./Projekte
5.2G ./.minikube

Die Optionen:

  • -a – Zeigt Dateien und Verzeichnisse (nicht nur Verzeichnisse)
  • -h – Menschenlesbare Größen (G, M, K statt Bytes)
  • -x – Bleibt auf dem aktuellen Dateisystem
  • sort -rh – Sortiert absteigend nach menschenlesbarer Größe

Nur Verzeichnisse mit Tiefenbegrenzung

Wenn du nur die oberste Verzeichnisebene sehen willst:

du -hx --max-depth=1 /home | sort -rh

Zusammenfassung

AufgabeBefehl
Dateien > 100 MB findenfind . -xdev -type f -size +100M
Große Dateien sortiert anzeigenfind . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
Größte Verzeichnisse findendu -ahx . | sort -rh | head
Verzeichnisgrößen (erste Ebene)du -hx --max-depth=1 /home | sort -rh

Mit diesen Befehlen identifizierst du schnell, was deinen Speicherplatz belegt. Lösche oder verschiebe die Dateien anschließend gezielt.