7. November 2013

Linux: Datei in Terminal rekursiv nach ihrem Namen finden

Im Folgenden soll ein kurzer Tipp vorgestellt werden, der die alltägliche Arbeit im dem Terminal unter Linux erleichtern kann. Es geht dabei darum, wie ein Ordner und seine Unterordner über einen einfachen Befehl nach einer Datei durchsucht werden kann, wenn deren Name oder Teile von diesem bekannt sind.

Der folgende Befehl durchsucht alle Unterordner des aktuellen Verzeichnisses nach einer Datei mit dem Namen "test.txt":
 $ find . -name "test.txt"  
Um die Suche in einem anderen Wurzelverzeichnis zu starten, kann folgendermaßen ein entsprechender Pfad angegeben werden:
 $ find /home/user -name "test.txt"  
Wenn nur Teile des Dateinamens der gesuchten Datei bekannt sind oder mehrere Dateien gefunden werden sollen, deren Dateinamen ähnlich sind, kann dies durch Setzen des Zeichens * erreicht werden. Durch Verwendung des *-Zeichens werden alle Dateien in das Suchergebnis einbezogen, deren Dateiname an der Stelle, an der das Zeichen steht, beliebige Zeichen enthält. Der folgende Befehl wird beispielsweise alle Dateien als Ergebnis zurückliefern, die mit der Dateiendung ".txt" enden:
 $ find . -name "*.txt"  
Für die Angabe des gesuchten Dateinamens können desweiteren beliebige reguläre Ausdrücke verwendet werden. Es existieren außerdem weitere alternative Parameter zu "-name", die es beispielsweise erlauben, nach Dateien mit einer bestimmten Größe zu suchen. Eine ausführlichere Anleitung zu der Verwendung des find-Befehls findet sich unter dieser Adresse.

Beispielhafte Verwendung des find-Befehls in einem Linux-Terminal (Klicken zum Vergrößern)

Weiterführende Links: