9.3 Hilfsprogramm find
=========================
find - sucht nach bestimmten Dateien
find [Verzeichnis] [-Option...] [-Test...] [-Aktion...]
find durchsucht eine oder mehrere Verzeichnishierarchien
nach Dateien mit bestimmten Eigenschaften, und führt damit
bestimmte Aktionen aus. Die Eigenschaften können durch
Tests bestimmt werden.
Optionen, Tests und Aktionen können mit Operatoren zusam
mengefaßt werden. find bewertet für jede Datei in den
Verzeichnishierarchien die Optionen, Tests und Aktionen
von links nach rechts, bis ein falscher Wahrheitswert auf
taucht oder die Kommandozeilenargumente zu Ende sind.
Das erste Argument, das mit einem -, einer Klammer (, ),
einem Komma , oder einem Ausrufezeichen ! beginnt, wird
als Anfang einer Option oder Test interpretiert. Alle
Argumente davor werden als Verzeichnisnamen interpretiert.
Wenn kein Verzeichnis angegeben ist, wird das aktuelle
Verzeichnis genommen. Wenn keine Aktion angegeben ist,
wird die Aktion -print ausgeführt.
Der Status von find ist Null, wenn alle Aktionen erfolgre
ich waren, im Fehlerfall ist der Status größer als Null.
|
| next | back | 2017 - 1 | Fri Apr 7 14:46:39 CEST 2017 |
OPTIONEN
-daystart
mißt die Zeiten für die -amin, -atime, -cmin,
-ctime, -mmin und -mtime Eigenschaften vom Beginn
des aktuellen Tages anstelle der letzten 24 Stunden
-depth
bearbeitet den Inhalt jedes Verzeichnisses vor dem
Verzeichnis selbst
-follow
folgt den symbolischen Links; diese Option schließt
-noleaf mit ein
-maxdepth Ebenen
steigt bis zu der gegebenen Zahl von Ebenen im
Verzeichnisbaum auf (in der Hierarchie ab); bei 0
Ebenen werden die Tests nur auf die in der Komman
dozeile übergebenen Dateien und Verzeichnisnamen
angewendet
-mindepth Ebenen
steigt mindestens die gegebene Zahl von Ebenen im
Verzeichnisbaum auf (in der Hierarchie ab); bei
einer Ebene werden die in der Kommandozeile genan
nten Dateien und Verzeichnisnamen nicht bearbeitet
-noleaf
erzwingt die Bearbeitung aller Verzeichniseinträge;
-version
gibt die Versionsnummer auf die Standardfehleraus
gabe
-xdev durchsucht keine Verzeichnisse in anderen Dateisys
temem (auf anderen Partitionen)
|
| next | back | 2017 - 2 | Fri Apr 7 14:46:39 CEST 2017 |
Tests:
Alle numerischen Argumente können auf drei Arten angegeben
werden:
+ N steht für alle Zahlen größer als N
- N steht für alle Zahlen kleiner als N
N steht für genau N
Alle Tests werden auf die Dateien in den angegebenen
Verzeichnissen einzeln angewendet. Die Tests liefern
einen Wahrheitswert von 0 (Wahr), wenn der Test erfolgre
ich war.
-amin N
auf die Datei ist vor N Minuten zugegriffen worden
-anewer Referenzdatei
auf die Datei ist vor weniger Zeit zugegriffen wor
den, als seit der letzten Veränderung der Referenz
datei vergangen ist; im Zusammenhang mit -follow
tritt -anewer nur in Effekt, wenn -follow vor
-anewer in der Kommandozeile steht
-atime N
auf die Datei ist vor N*24 Stunden zugegriffen wor
den
-cmin N
der Status der Datei wurde vor N Minuten geändert
-cnewer Referenzdatei
der Status der Datei wurde vor weniger Zeit
verändert, als seit der letzten Veränderung der
Referenzdatei vergangen ist; zusammen mit -follow
tritt -cnewer nur in Effekt, wenn -follow vor
-cnewer in der Kommandozeile steht
|
| next | back | 2017 - 3 | Fri Apr 7 14:46:39 CEST 2017 |
-ctime N
der Dateistatus wurde vor N*24 Stunden geändert
-empty
die reguläre Datei oder das Verzeichnis ist leer
-false
ist immer falsch
-fstype Typ
die Datei ist in einem Dateisystem vom angegebenen
Typ; unter anderem werden minix, msdos, ext und
proc erkannt
-gid N
die Datei gehört der Gruppe mit der Kennzahl N
-group Name
die Datei gehört der Gruppe Name
-inum IN
die Datei belegt die Inode mit der Nummer IN
-links N
die Datei hat N (harte) Links
-lname Muster
die Datei ist ein symbolischer Link auf eine Datei
oder ein Verzeichnis mit einem zum Muster passenden
Namen
-mmin N
der Inhalt der Datei wurde vor N Minuten verändert
-mtime N
der Inhalt der Datei wurde vor IN*24 Stunden
verändert
-name Muster
der Name der Datei paßt zu dem Muster
|
| next | back | 2017 - 4 | Fri Apr 7 14:46:39 CEST 2017 |
-newer REFERENZDATEI
die Datei ist später verändert worden als die REFERENZDATEI;
zusammen mit -follow tritt -newer nur in Effekt,
wenn -follow vor -newer in der Kommandozeile steht
-nouser
die Datei gehört keinem im System eingetragenen
Benutzer
-nogroup
die Datei gehört keiner im System angemeldeten
Gruppe
-path MUSTER
der Pfadname der Datei paßt zum MUSTER
-perm MODUS
die Zugriffsrechte auf die Datei entprechen exakt
dem Modus; der Modus kann als Oktalzahl oder mit
den bei chmod(1) beschriebenen Kennungen
beschrieben werden
-perm -MODUS
(mindestens) die Zugriffsrechte für den Modus sind
gesetzt
-perm +MODUS
die Zugriffsrechte entsprechen höchstens dem Modus
(oder sind weiter eingeschränkt)
-regex MUSTER
der Pfadname paßt zu dem regulären Ausdruck MUSTER
-size N[{c,k}]
die Datei belegt N Datenblöcke zu 512 Bytes, bzw. N
Bytes und N Kilobytes mit nachgestelltem c oder k
-true
ist immer wahr
|
| next | back | 2017 - 5 | Fri Apr 7 14:46:39 CEST 2017 |
-type C
die Datei ist vom Typ C; folgende Typen werden
unterschieden:
b gepufferte Gerätedatei für ein blockorien
tiertes Gerät
c ungepufferte Gerätedatei für ein
zeichenorientiertes Gerät
d Verzeichnis
p benannte Pipeline (FiFo)
f normale Datei
l symbolischer Link
s Socket
-uid N
die Kennziffer des Eigentümers ist N
-used N
auf die Datei ist N Tage nach der letzten Änderung
zugegriffen worden
-user NAME
die Datei gehört dem Anwender NAME
-xtype C
das gleiche wie -type für alle Dateien, die keine
symbolischen Links sind; wenn die Datei ein symbol
ischer Link ist und die Option -follow nicht
gesetzt ist, wird die Datei, auf die der Link
zeigt, auf den Typ C geprüft; wenn die Option -fol
low gesetzt ist, ist der Test wahr, wenn C = l ist
|
| next | back | 2017 - 6 | Fri Apr 7 14:46:39 CEST 2017 |
Aktionen:
-exec KOMMANDO;
führt das Kommando aus; die Aktion ist wahr, wenn
das Kommando einen Status von Null liefert; alle
auf den Kommandonamen folgenden Argumente bis zu
einem Semikolon ; werden als Kommandozeilenargu
mente für das Kommando interpretiert; das Semikolon
kann nicht weggelassen werden, und es muß durch
mindestens ein Whitespace von der letzen Option
getrennt werden; die Konstruktion {} wird durch den
Pfadnamen der Datei ersetzt; die Klammern und das
Semikolon müssen in der Kommandozeile für find
quotiert werden, damit sie nicht von der Shell
bearbeitet werden
-fprint AUSGABEDATEI
schreibt den Pfadnamen der gefundenen Datei in die
AUSGABEDATEI; wenn die AUSGABEDATEI nicht
existiert, wird sie erzeugt, sonst wird sie erweit
ert; die Standardausgabe und die Standardfehleraus
gabe werden als /dev/stdout und /dev/stderr ange
sprochen
-fprint0 AUSGABEDATEI
schreibt den Namen der gefundenen Datei in die
AUSGABEDATEI und schließt die Ausgabe mit einem
Nullbyte ab, wie -print0
|
| next | back | 2017 - 7 | Fri Apr 7 14:46:39 CEST 2017 |
-fprintf AUSGABEDATEI FORMAT
schreibt den Namen der gefundenen Datei in die AUS
GABEDATEI und benutzt dabei das FORMAT mit Son
derzeichen wie bei printf
-ok KOMMANDO;
wie -exec, vor der Ausführung des KOMMANDOS wird
aber noch eine Bestätigung erwartet; nur eine
Eingabe, die mit einem Y oder einem y beginnt,
führt zur Ausführung des Kommandos
-print
gibt den vollständigen Pfadnamen der
gefundenen Datei auf die Standardausgabe
-print0
gibt den Pfadnamen der gefundenen Datei, von einem
Nullbyte abgeschlossen, auf die Standardausgabe;
auf diese Weise können auch Pfadnamen korrekt weit
erverarbeitet werden, die ein Zeilenende enthalten
-printf FORMAT
gibt für die gefundenen Datei die Zeichenkette FORMAT
auf der Standardausgabe aus; FORMAT kann verschiedene
Sonderzeichen und Platzhalter enthalten, die von find
bearbeitet werden: Sonderzeichen, Zeitstempel der
Dateien, Dateigröße, Zugriffsrechte, Position im
Dateibaum, Nutzername und Gruppename des Eigentümers
(siehe Manual)
|
| next | back | 2017 - 8 | Fri Apr 7 14:46:39 CEST 2017 |
-prune
wahr, wenn die Option -depth gesetzt ist; sonst
falsch
-ls zeigt das Verzeichnis in dem die getestete Datei
gefunden wurde mit ls -dils an
Operatoren:
Die Optionen, Tests und Aktionen können mit Operatoren
verknüpft werden. Die Bearbeitung erfolgt prinzipiell von
links nach rechts.
( Ausdruck )
die Klammern fassen den Ausdruck zu einer Operation
zusammen
! Ausdruck
"! Ausdruck" ist wahr, wenn der " Ausdruck " falsch ist"
-not Ausdruck
ist ebenfalls wahr, wenn der Ausdruck falsch ist
Ausdruck1 Ausdruck2 oder Ausdruck1 -a Ausdruck2 oder
Ausdruck1 -and Ausdruck2
UND Verknüpfung; wenn Ausdruck1 wahr ist, wird Aus
druck2 bewertet (ausgeführt)
Ausdruck1 -o Ausdruck2 oder Ausdruck1 -or Ausdruck2
ODER Verknüpfung; Ausdruck2 wird bewertet (aus
geführt), wenn Ausdruck1 falsch ist
Ausdruck1 , Ausdruck2
Liste; beide Ausdrücke werden immer bewertet (aus
geführt); der Wahrheitswert des gesamten Ausdrucks
entspricht dem von Ausdruck2
|
| next | back | 2017 - 9 | Fri Apr 7 14:46:39 CEST 2017 |
| |
| back | 2017 - 10 | Fri Apr 7 14:46:39 CEST 2017 |