find durchsucht automatisch alle Unterverzeichnisse nach Dateien.
Dabei können verschiedene Suchkriterien (Muster für den Dateinamen,
Dateigröße, Datum der Erstellung oder des letzten Zugriffs, etc.) bei
der Suche berücksichtigt werden.
Es besteht sogar die Möglichkeit, auf alle Dateien, die diese
Bedingungen erfüllen, mit einem anderen Programm (etwa grep) weitere
Selektionskriterien anzuwenden.
Auf diese Weise könnten beispielsweise alle *.tex-Dateien gefunden
werden, die in den letzten drei Tagen bearbeitet wurden und und den
Text (string) "Grafikprogrammierung" enthalten.
Ist das nicht knorke?! :-)
Aber jetzt kommen die (no panic) allgemeinen
Optionen:
- -depth
- bearbeitet zuerst das aktuelle Verzeichnis,
erst dann die Unterverzeichnisse.
- -follow
- bearbeitet auch Verzeichnisse, die durch
symbolische Links erfaßt werden.
- -maxdepth n
- schränkt die Suche auf n Verzeichnisebenen ein.
Mit -maxdepth 1 werden keine Unterverzeichnisse berücksichtigt.
Suchkriterien:
- Anmerkung:
- Es können mehrere Suchkriterien gleichzeitig genannt werden. Diese
Kriterien werden logisch mit UND verknüpft. Die Suche wird abgebrochen,
sobald das erste Kriterium nicht erfüllt ist.
- \ (und \)
- gruppiert Kriterien
- !
- negiert Kriterien
- -o
- verknüpft mit logischem ODER
- -ctime n
- findet Dateien, die zuletzt vor genau n Tagen verändert wurden.
Wenn vor der Zahl ein + angegeben wird, dann werden alle Dateien erfaßt, die älter als n
Tage sind. Ein vorangestelltes - liefert Dateien, die jünger als n Tage sind.
- -group gruppenname
- findet Dateien der angebebenen Gruppe
- -nogroup gruppenname
- negiert group
- -name suchmuster
- findet Dateien, die dem angebebenen Suchmuster
entsprechen. Wenn das Suchmuster Jokerzeichen
enthält, muß es in Apostrophe gestellt werden.
- -path suchmuster
- findet Dateien, die dem angebebenen Suchmuster entsprechen.
- -perm zugriffsbits
- findet Dateien, deren Zugriffsbits genau dem
angegebenen Oktalwert entsprechen.
- -size dateigröße
- gibt die gewünschte Dateigröße vor. Die Angabe erfolgt in Vielfachen
von 512, d.h. 1 = 0-511, 2 = 512-1023, etc. oder mit vorangestelltem + bzw. - die absolute Zahl mit
nachgestelltem c für bytes bzw. k für KB.
-size -1000k liefert daher alle Dateien, die kleiner sind als 1MB.
- -type zeichen
- schränkt die Suche auf bestimmte Dateitypen
ein. Die wichtigsten Zeichen sind:
f reguläre Dateien
d Verzeichnisse
l symbolische Links.
- -user username
- findet Dateien des angegebenen Benutzers
- -nouser username
- negiert user
Aktionen beim Finden einer Datei:
- -exec kommando [optionen] {} \;
- ruft das angegebene Kommando und übergibt den Dateinamen der gefundenen Datei, die alle
bisher verarbeiteten Kriterien erfüllt hat. {} ist Platzhalter für den Dateinamen,
\; schließt den Kommandoaufruf ab. Es können weitere folgen.
- -print
- Ausgabe am Bildschirm (Standardeinstellung).
- -printf format
- siehe man-Seiten
Anmerkung:
find ist ein vergleichsweise langsames Kommando, besonders dann,
wenn der gesamte Dateibaum durchsucht werden muß. Oft kommen Sie mit
den Kommandos locate, whereis, oder which in viel kürzerer Zeit auch
zum Ergebnis (siehe dort).
|