Befehle · 2 min read · Sep 14, 2025
Dateien und Ordner mit dem find-Befehl suchen
Dateien und Ordner mit dem find-Befehl suchen
In diesem Tutorial werden wir uns den find-Befehl ansehen und wie Sie ihn schnell verwenden können, um Dateien in Ihrem Dateisystem zu finden. Find ist ein leistungsstarkes Dienstprogramm, das in der Lage ist, Dateien überall auf Ihrem System zu lokalisieren, einschließlich gemounteter Laufwerke und abnehmbarer Speicher, die Verarbeitung von regulären Ausdrücken und sogar das Ausführen anderer Befehle auf diesen Dateien. Glücklicherweise sind nur wenige einfache Optionen erforderlich, um den meisten Benutzern alle benötigten Funktionen zu bieten.
Das Format des find-Befehls lautet:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] [path…] [expression]
Die Optionen H, L und P geben an, ob symbolische Links verfolgt werden sollen. debugopts dient dazu, Debugging-Informationen bereitzustellen, und -0level bietet eine Abfrageoptimierung. Für dieses Tutorial und die meisten Ihrer Verwendungen von find müssen wir nur den Pfad und den Ausdruck angeben.
Der Pfad
Der Pfad gibt an, wo im Dateisystem gesucht werden soll. Find wird diesen Pfad und alle Unterverzeichnisse durchsuchen. Um das gesamte Dateisystem zu durchsuchen, geben Sie ‘/‘ für den Pfad an.
Ausdruck
Der Ausdruck besteht aus drei Teilen: OPTIONEN, TESTS und AKTIONEN.
OPTIONEN
-help Dies gibt eine kurze Zusammenfassung der Verwendung des find-Befehls aus.
find -help-mount Diese Option weist find an, keine Verzeichnisse auf anderen Dateisystemen zu durchsuchen, wie z. B. gemountete USB-Laufwerke und andere Volumes, die langsamer durchsucht werden können.
TESTS
Der Tests Abschnitt sagt find, wonach gesucht werden soll.
-executable Dies weist find an, nur Dateien zurückzugeben, die ausführbar sind, und Verzeichnisse. Es ist nützlich, um ein Verzeichnis zu finden, dessen Name Ihnen bekannt ist (kombinieren Sie es mit der -file d-Flag) oder eine ausführbare Datei (kombinieren Sie es mit der -file f-Flag).
-name/-iname Dies gibt die Zeichenfolge des Dateinamens (oder Verzeichnisnamens) an, nach dem Sie suchen. Es sollte in doppelte Anführungszeichen (“ ) eingeschlossen sein. Metazeichen (*',?’, und []') können für Teile des Namens verwendet werden. -name macht die Suche groß-/kleinschreibungsempfindlich und -iname macht sie nicht groß-/kleinschreibungsempfindlich. -regex Verwenden Sie dies anstelle von -name, um nach einem Namen mit einem regulären Ausdruck im Emacs-Stil zu suchen. -type Verwenden Sie dies, um anzugeben, ob Sie nach einer Datei (-type f) oder einem Verzeichnis (-type d) suchen. #### AKTIONEN Dieser Abschnitt wird verwendet, um Aktionen auf die Ergebnisse des find-Befehls auszuführen. -exec Führen Sie einen Befehl für jede gefundene Datei aus, wobei der Dateiname an den Befehl übergeben wird. ### Fehler unterdrücken Normalerweise erhalten Sie beim Suchen in allen Verzeichnissen mit Ihrem Nicht-Root-Benutzerkonto viele Fehler wie: "find:/var/spool/cron/crontabs`: Berechtigung verweigert. Wir können diese aus der Ausgabe entfernen, indem wir sie an /dev/null senden, indem wir 2>/dev/null an den find-Befehl anhängen. ### Beispiele Durchsuchen Sie das gesamte Dateisystem nach einer ausführbaren Datei find / -name "grep" -executable -type f 2>/dev/null Durchsuchen Sie das gesamte Dateisystem (aber nicht gemountete Laufwerke) nach einem Verzeichnis find / -mount -executable -iname "music" -type d 2>/dev/null ### Weiterführende Literatur Dieses Tutorial behandelt nur einen Teil der Möglichkeiten von find. Ich hoffe, es reicht aus, um die meisten Ihrer Anforderungen zu erfüllen, aber es gibt viele weitere Optionen im find-Handbuch. man find Für Informationen zu regulären Ausdrücken, die Ihnen mehr Flexibilität bei Ihren Suchbegriffen bieten, siehe die Man-Seite für POSIX-reguläre Ausdrücke man 7 regex
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.