Linux: Große Dateien finden

, Stand: 25.10.2014  Tipp druckenDrucken Symbol Kommentare 11 Kommentare

Da ich oft unter Platzmangel auf meiner Platte leide wollte ich mal alle "großen" Dateien finden und gegebenenfalls löschen. Der Befehl

ls -lahS $(find / -type f -size +10000k)

findet alle Dateien die größer sind als 10MByte und listet sie der Größe nach auf.

Dabei sorgt der Befehl ls -lahS für das Auflisten der Dateien. Die Dateien werden mit l im langen Format ausgegeben. Der Parameter a zeigt alle Dateien, auch die versteckten. Dank h erscheinen alle Größenangaben in gut lesbarem Format.

Mit $ wird das Ergebnis des nachfolgenden Befehls als Parameter an ls übergeben. Sprich, es erscheinen nur Dateien, die größer sind als 10.000 Kilobyte.

Hinweis: Wenn Sie den Befehl nicht als root ausführen, werden Sie einige Male Permission denied zu lesen bekommen.

Diesen Tipp sandte uns unser Leser Fabian Mohren. Vielen Dank

So unterdrücken Sie die Fehler des Kommandos find

Wer in Linux als normaler User mit find sucht, bekommt häufig Meldungen dass der Zugriff auf bestimmte Objekte nicht erlaubt ist.

Der Grund: Im Linux-Filesystem stecken nicht nur normale Dateien und Ordner, sondern auch Geräte und spezielle Steuerdateien. Versucht das Programm find diese zu durchzuarbeiten, verweigert das Betriebssystem den Zugriff.

Linux Fehler bei find

Einfaches Abwürgen von Meldungen

Um diese Meldungen zu unterdrücken, suchen Sie mit

find / -name *.bla 2> /dev/null

Damit werden die Fehlermeldungen ins Nirvana geschrieben und Sie haben mehr Überblick mit find.

Filter setzen

Eine elegantere Möglichkeit ist, wenn Sie find anweisen, nur reguläre Dateien zu behandeln. Dann sieht obiges Beispiel so aus:

find / -type f -name *.bla

Dann kommt nur noch in den Fällen ein "Permission denied", wo der aktuelle Benutzer keine Leserechte hat.

Alternative über locate

Bei einem großen Dateisystem kann find schon einige Zeit mit der Suche beschäftigt sein.

Eine Abhilfe stellt dabei der Befehl locate dar, der nicht den gesamten Festplatteninhalt durchforstet, sondern sich eine Datenbank anlegt, worin blitzschnelle Suchen möglich sind. Mehr dazu lesen Sie im Tipp So finden Sie in Linux schnell Dateien über ihren Namen.

Kommentare 0 bis 5 von 11 Kommentaren   >>

@Fat_Angel: Setze die Ausgabe von find in Anführungszeichen: ls -lahS
"$(find / -type f -size +10000k)". Damit sind Leerzeichen und
Sonderzeichen in Dateinamen kein Problem.
[dan | 20.08.2014] Antworten

Vielen Dank
[Michael | 21.06.2014] Antworten

Wenn der Dateiname aus mehreren Wörtern besteht, liefert die
ls-Ausgabe vom eine Fehlermeldung
[Fat_Angel | 27.04.2014] Antworten

ls -lahS $(find / -type f -size +10000k 2> /dev/null )
Unterdrückt die etwaigen Fehlermeldungen bei find.

[Alex | 03.12.2012] Antworten

@From sud side suissa: Hi, kann ich die Ausgabe auch nach Dateigröße
sortieren lassen? Danke!
[Benno | 07.01.2012] Antworten

Kommentare 0 bis 5 von 11 Kommentaren   >>

Ihr Kommentar:


Name:



Aktualisiert am: 25.10.2014