wfmedia.ch

find

Das Kommandozeilenprogramm find dient der Dateisuche in ganzen Verzeichniszweigen ab definierten Startpunkten. Dabei kann es die Suche auf vielfältige Weise filtern, z.B. nach Dateiname, -alter, -größe und die Suchergebnisse weiterverarbeiten und/oder formatiert ausgeben.
Da unter unixoiden Systemen der Leitsatz "Alles ist eine Datei" gilt, werden auch Verzeichnisse und anderes, was Linux im Dateiverzeichnisbaum einträgt (z.B. Sockets), gefunden. Der Einfachheit halber werden deshalb in diesem Artikel meist nur Dateien genannt. Eine Alternative zu find (mit Vor- und Nachteilen) bietet der Befehl locate.


Installation
Das Programm ist im Paket
findutils
von Ubuntu enthalten und ist deshalb auf jedem System vorinstalliert.

Kriterien
Bevor einige praktische Beispiele die vielfältigen Verwendungsmöglichkeiten von find zeigen, zwei kurze Übersichten ...

Kriterium Beschreibung
-name DATEI sucht nach dem Namen DATEI. Werden Platzhalter verwendet, müssen sie maskiert werden, sonst interpretiert sie schon die Shell. Beispiele: \*.txt oder "???.t*xt"
-iname DATEI sucht nach dem Namen DATEI, ohne Beachtung der Groß- und Kleinschreibung.
-type T sucht nach nur einem Typ, z.B. mit f (=file) echte Dateien oder mit d (=directory) Verzeichnisse.
-mtime n sucht nach Dateien, deren Inhalt vor n bis n+1 Tagen geändert (m=modified) wurde.
-mtime +n sucht nach Dateien, deren Inhalt älter als n+1 Tage ist.
-mtime -n sucht nach Dateien, deren Inhalt jünger als n Tage ist.
-ctime n sucht nach Dateien, deren Name oder Status (Modus, Besitzer oder Gruppe) vor n bis n+1 Tagen geändert (c=changed) wurde.
-atime n sucht nach Dateien, auf die zuletzt vor n bis n+1 Tagen zugegriffen (a=accessed) wurde. (Hinweis: Die Aussagekraft der Datei-Zugriffszeit ist stark von den Einhängeoptionen atime, noatime und relatime abhängig.)
-mmin n sucht nach Dateien, deren Inhalt vor n-1 bis n Minuten geändert wurde. (Achtung: andere Zählweise als bei -Xtime)
-mmin +n sucht nach Dateien, deren Inhalt älter als n Minuten ist. (Achtung: andere Zählweise als bei -Xtime)
-mmin -n sucht nach Dateien, deren Inhalt jünger als n Minuten ist. (gleiche Zählweise als bei -Xtime)
-daystart misst für alle darauf folgenden -Xtime- und -Xmin-Kriterien ab 0:00 h des nächsten Tages, also ab Mitternacht.
-newer DATEI sucht nach Dateien, deren Inhalt nach dem von DATEI verändert wurde.
-size n[cwbkMG] sucht Dateien die n Zuordnungseinheiten belegen. Folgende Multiplikatoren können zusätzlich verwendet werden: c für Bytes, w für Zwei-Byte-Wörter, b für 512-Byte-Blöcke (Standard), k für KiB (Kibibyte), M für MiB, G für GiB.
-user BENUTZER sucht nur nach Dateien des Benutzers BENUTZER.
-nouser sucht nach Dateien, deren User-ID keinem Benutzer entspricht.
-nogroup sucht nach Dateien, deren Gruppen-ID keiner Gruppe entspricht.
-maxdepth n sucht ab dem Startpunkt nur n Verzeichnisse tief. Bezeichnet dieser ein Verzeichnis – z.B. implizit das aktuelle Verzeichnis – zählen dessen Einträge schon zu Tiefe 1.
-depth sucht erst rekursiv im Inhalt der Verzeichnisse, bevor das Verzeichnis selbst untersucht wird. (Standard bei -delete Aktion)