Der Kommandozeilen-Befehl find ist ein umfangreiches Werkzeug zum Auffinden von Dateien und Verzeichnissen. Es ist in allen UNIX-basierten Betriebssystemen, die dem POSIX-Standard folgen, enthalten.
In seiner einfachsten Form listet find sämtliche Dateien in einem bestimmten Verzeichnis und dessen Unterverzeichnissen auf.
$ find .
Der Punkt steht dabei für das aktuelle Verzeichnis. Wollen Sie den gesamten Computer durchsuchen, verwenden Sie statt des Punktes einen Schrägstrich. Dabei müssen Sie allerdings mit einer sehr langen Bearbeitungszeit rechnen.
Zur Suche nach einer bestimmten Datei können Sie die Option -name verwenden.
$ find . -name beisp*
Mit diesem Befehl suchen Sie nach Dateien oder Verzeichnissen, deren Name mit den Buchstaben beisp beginnt. Das Sternchen mit dem vorangestellten Backslash dient hierbei als Platzhalter für einen unbekannten Teil des Dateinamens. Beachten Sie, dass -name zwischen Groß- und Kleinschreibung unterscheidet. Möchten Sie die Groß- und Kleinschreibung ignorieren, verwenden Sie stattdessen die Option -iname. Wollen Sie nur nach Dateien und nicht nach Verzeichnissen suchen, fügen Sie vor der Option -name den Parameter -type f ein.
find kann aber noch viel mehr als nur nach Dateinamen zu suchen und Verzeichnisinhalte aufzulisten. Zum Beispiel können Sie nach Dateien suchen, die zu einem bestimmten Zeitpunkt erstellt beziehungsweise geändert wurden, oder die eine bestimmte Größe haben. Parameter der gleichen Art können Sie dabei mit Hilfe von logischen Operatoren wie AND, NOT oder OR kombinieren.
$ find . -mtime -5 -size +100k -and -size -1000k
Dieser Befehl sucht nach Dateien, die zwischen 100 und 1000 Kilobyte groß sind und in den letzten fünf Tagen geändert wurden.
Mit find können Sie auch Dateioperationen ausführen. Der folgende Befehl findet leere txt-Dateien des Benutzers User1 und löscht diese.
$ find . -type f -empty -user User1 -name "*.txt" -exec rm {} ;
Darüber hinaus existieren zahlreiche weitere Parameter, die Sie zusammen mit find verwenden können. Mehr darüber erfahren Sie im Handbuch des Befehls, welches Sie mit
$ man find
aufrufen können.