Commit c924addc authored by Tobias Quathamer's avatar Tobias Quathamer

Imported Upstream version 0.9

parent 879531ba
Version 0.9
Wed Oct 12 21:43:26 CEST 2011
* Updated upstream manpages:
manpages 3.32-0.1, manpages-dev 3.32-0.1, util-linux 2.19.1-5
* Updated manpages:
fifo.7, LDP.7, mailaddr.7, utf-8.7, binkd.8, hier.7, unicode.7, clone.2,
iso_8859-1.7, tty.4, vcs.4, pause.2, hd.4, st.4, hosts.5, isdnlog.5,
termcap.5, tzfile.5, ascii.7, signal.7, find.1, info.1, gzip.1, intro.1,
bind.2, write.2, crypt.3, getgroups.2, getuid.2, reboot.2, setfsgid.2,
setfsuid.2, setresuid.2, swapon.2, rand.3, acos.3, localeconv.3
* New manpages:
binkdlogstat.8, ttyS.4, cpuid.4, dsp56k.4, mouse.4, msr.4, random.4,
wavelan.4, man-pages.7, operator.7, initrd.4, group.5, resolv.conf.5
* Removed manpages:
resolver.5 (linked from resolv.conf.5)
write.1, ttys.4, rdev.8 (removed upstream)
ar.1, ps.1, kill.1, more.1 (too outdated translation)
fdformat.1, mcopy.1, mdel.1, mdir.1, mformat.1, mmd.1, mrd.1, mread.1,
mtools.1, pon.1, tkinfo.1, exports.5, lilo.conf.5, lilo.8 (obsolete)
Version 0.8
Sun Feb 27 11:15:54 CET 2011
......
man1/find.1.gz man1/oldfind.1.gz
.\" -*- nroff -*-
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.TH FIND 1
.SH BEZEICHNUNG
find \- in einer Verzeichnishierarchie nach Dateien suchen
.SH ÜBERSICHT
\fBfind\fP [\-H] [\-L] [\-P] [\-D Fehlersuchoptionen] [\-Olevel] [Pfad …] [Ausdruck]
.SH BESCHREIBUNG
Diese Handbuchseite beschreibt die GNU Version von \fBfind\fP. GNU\-\fBfind\fP
durchsucht die Verzeichnisbäume, die seinen Ursprung bei den angegebenen
Dateinamen haben und wertet dabei den Ausdruck von links nach rechts
entsprechend der Operatorenrangfolge aus (siehe Abschnitt OPERATOREN) bis
das Ergebnis ermittelt ist (die linke Seite falsch ist für \fIUND\fP\-Operatoren
und wahr für \fIODER\fP\-Operatoren). Anschließend fährt \fBfind\fP mit der
nächsten Datei fort.
.PP
Falls Sie \fBfind\fP in einem Umfeld benutzen, in dem Sicherheit wichtig ist
(zum Beispiel, um Verzeichnisse zu durchsuchen, die für andere Anwender
schreibbar sind), sollten Sie die das Kapitel »Security Considerations« der
Findutils\-Dokumentation lesen, die \fBFinding Files\fP heißt und den Findutils
beigefügt ist. Dieses Dokument enthält außerdem mehr Einzelheiten und
Erörterungen als diese Handbuchseite, so dass Sie es als eine nützlichere
Informationsquelle empfinden könnten.
.SH OPTIONEN
Die Optionen \fB\-H\fP, \fB\-L\fP und \fB\-P\fP steuern den Umgang mit symbolischen
Links. Darauf folgende Befehlszeilenparameter werden als zu untersuchende
Datei\- oder Verzeichnisnamen betrachtet, bis ein Parameter mit einem »\-«
beginnt oder ein »(« oder »!«, ist. Solche und alle folgenden Parameter
werden als Ausdruck interpretiert, der beschreibt, wonach gesucht werden
soll. Wenn kein Pfad angegeben wurde, wird das aktuelle Verzeichnis
genommen. Wenn kein Ausdruck angegeben ist, wird der Ausdruck \fB\-print\fP
benutzt (aber Sie sollten vermutlich sowieso in Betracht ziehen, stattdessen
\fB\-print0\fP zu verwenden).
.PP
Dieses Handbuch spricht von »Optionen« innerhalb einer Liste von
Ausdrücken. Diese Optionen steuern das Verhalten von \fBfind\fP, werden aber
direkt nach dem letzten Pfadnamen angegeben. Die fünf »echten« Optionen
\fB\-L\fP, \fB\-P\fP, \fB\-D\fP und \fB\-O\fP müssen wenn dann vor dem ersten Pfadnamen
erscheinen. Außerdem kann ein doppeltes Minuszeichen \fB\-\-\fP benutzt werden,
um zu signalisieren, dass die verbleibenden Argumente keine Optionen sind
(obwohl es im Allgemeinen sicherer ist, wenn Sie dafür sorgen, dass alle
Startpunkte entweder mit »./« oder »/« beginnen, falls Sie Platzhalter in
der Liste der Startpunkte verwenden).
.IP \-P
keinen symbolischen Links folgen. Dies ist das Standardverhalten. Wenn
\fBfind\fP eine Datei untersucht oder Informationen über diese ausgibt und die
Datei ein symbolischer Link ist, dann sollen die Informationen des
symbolischen Links selbst verwendet werden.
.IP \-L
symbolischen Links folgen. Wenn \fBfind\fP eine Datei untersucht oder
Informationen über diese ausgibt, dann sollten die Informationen der Datei
verwendet werden, auf die der symbolische Link verweist, nicht die des Links
selbst (es sei denn, der symbolische Link ist kaputt oder \fBfind\fP nicht in
der Lage, die Datei zu untersuchen, auf die der Link zeigt). Die Verwendung
dieser Option impliziert die Option \fB\-noleaf\fP. Wenn Sie später die Option
\fB\-P\fP verwenden, wird \fB\-noleaf\fP immer noch Auswirkungen haben. Wenn \fB\-L\fP
aktiv ist und \fBfind\fP während seiner Suche einen symbolischen Link zu einem
Unterverzeichnis vorfindet, wird das Unterverzeichnis durchsucht, auf das
der symbolische Link zeigt.
.IP
Wenn die Option \fB\-L\fP in Kraft ist, wird das Prädikat \fB\-type\fP immer auf den
Typ der Datei angewandt, auf die ein symbolischer Link zeigt, anstatt auf
den Link selbst (es sei denn, der symbolische Link ist kaputt). Die
Verwendung von \fB\-L\fP bewirkt, dass die Prädikate \fB\-lname\fP und \fB\-ilname\fP
immer falsch zurückliefern.
.IP \-H
keinen symbolischen Links folgen, es sei denn, die Parameter in der
Befehlszeile werden ausgewertet. Wenn \fBfind\fP Dateien untersucht oder
Informationen über diese ausgibt, sollen die verwendeten Informationen vom
symbolischen Link selbst benutzt werden. Die einzige Ausnahme dieses
Verhaltens ist, wenn eine in der Befehlszeile angegebene Datei ein
symbolischer Link ist und dem Link gefolgt werden kann. In dieser Situation
werden die Informationen der Datei genommen, auf die der symbolische Link
verweist (das bedeutet, dass dem Link gefolgt wird). Die Informationen über
den Link selbst dienen als Rückgriff für den Fall, dass die Datei, auf die
der symbolische Link verweist, nicht untersucht werden kann. Wenn \fB\-H\fP in
Kraft ist und einer der Pfade, die auf der Befehlszeile angegeben wurden,
ein symbolischer Link zu einem Verzeichnis ist, werden die Inhalte dieses
Verzeichnisses untersucht (was natürlich »\-maxdepth 0« verhindern würde).
.P
Falls mehr als eine der Optionen \fB\-H\fP, \fB\-L\fP und \fB\-P\fP angegeben ist, setzt
jedes die anderen außer Kraft; das letzte, das auf der Befehlszeile
erscheint, gilt. Die Option \fB\-P\fP ist die Voreinstellung. Wenn weder \fB\-H\fP
noch \fB\-L\fP angegeben wurden, ist es, als wäre dies angegeben worden.
GNU\-\fBfind\fP fragt oft Datei\-Informationen während der Verarbeitung der
Befehlszeile selbst ab, bevor irgendeine Suche begonnen hat. Diese Optionen
beeinflussen auch, wie diese Argumente verarbeitet werden. Insbesondere gibt
es einige Tests, die Dateien auf der Befehlszeile mit einer aktuell
betrachteten Datei vergleichen. Die Datei, die auf der Befehlszeile
angegeben wird, wird auf jeden Fall untersucht und einige Ihrer
Eigenschaften werden gespeichert. Falls die genannte Datei ein symbolischer
Link ist und die Option \fB\-P\fP in Kraft ist (oder falls weder \fB\-H\fP noch
\fB\-L\fP angegeben wurden), wird die für den Vergleich benutzte Information aus
den Eigenschaften des symbolischen Links genommen. Anderenfalls wird sie aus
den Eigenschaften der Datei genommen, auf die der Link verweist. Falls
\fBfind\fP dem Link nicht folgen kann (zum Beispiel, weil es nicht über
ausreichende Rechte verfügt oder der Link auf eine nicht exisitierende Datei
verweist), werden die Eigenschaften des Links selbst benutzt.
.P
Wenn die Optionen \fB\-H\fP oder \fB\-L\fP in Kraft sind, wird jeder symbolische
Link als Argument von \fB\-newer\fP dereferenziert und der Zeitstempel wird von
der Datei genommen, auf die der symbolische Link verweist. Die gleichen
Erwägungen gelten für \fB\-newerXY\fP, \fB\-anewer\fP und \fB\-cnewer\fP.
Die Option \fB\-follow\fP hat ähnliche Auswirkungen wie \fB\-L\fP, obwohl sie an dem
Punkt in Kraft tritt, an dem sie erscheint (sprich, wenn \fB\-L\fP nicht benutzt
wird, aber \fB\-follow\fP, werden alle symbolischen Links, die nach \fB\-follow\fP
auf der Befehlszeile erscheinen, vorher dereferenziert).
.IP "\-D Debug\-Optionen"
Diagnoseinformationen ausgeben; dies kann hilfreich sein, um Probleme zu
diagnostizieren, warum \fBfind\fP nicht das tut, was Sie möchten. Die Liste der
Debug\-Optionen sollte durch Kommas getrennt sein. Kompatibilität der
Debug\-Optionen ist zwischen den unterschiedlichen Versionen der Findutils
nicht gewährleistet. Um eine vollständige Liste der gültigen Optionen zu
erhalten, lesen Sie die Ausgabe von \fBfind \-D\fP \fBhelp\fP. Gültige
Debug\-Optionen sind unter anderem:
.RS
.IP help
Erklärt die Debugging\-Optionen
.IP tree
zeigt den Ausdrucksbaum in seiner originalen und optimierten Form
.IP stat
meldet, wenn Dateien mit den Systemaufrufen \fBstat\fP und \fBlstat\fP untersucht
werden. Das Programm \fBfind\fP versucht, die Anzahl solcher Aufrufe zu
minimieren.
.IP opt
gibt Diagnoseinformationen bezüglich der Optimierung des Ausdrucksbaums aus;
siehe die Option \-O.
.IP rates
gibt eine Zusammenfassung aus, die angibt, wie oft jedes Prädikat
erfolgreich war oder fehlschlug.
.RE
.IP \-Olevel
aktiviert Abfragenoptimierung. Das Programm \fBfind\fP ordnet Tests neu an, um
die Ausführung zu beschleunigen, ohne das Gesamtergebnis zu ändern; das
heißt, Prädikate mit Seiteneffekten werden im Gegensatz zu anderen nicht neu
angeordnet. Die Optimierungen die auf jeder Optimierungsstufe durchgeführt
werden, sind wie folgt.
.RS
.IP 0
entspricht der Optimierungsstufe 1
.IP 1
Dies ist die Standardoptimierungsstufe und entspricht dem traditionellen
Verhalten. Ausdrücke werden neu angeordnet, so dass Tests, die nur auf den
Namen der Dateien basieren (zum Beispiel \fB\-name\fP und \fB\-regex\fP) zuerst
durchgeführt werden.
.IP 2
Irgendwelche \fB\-type\fP\- oder \fB\-xtype\fP\-Tests werden nach allen Tests, die nur
auf Dateinamen basieren, aber vor Tests, die Informationen aus dem Inode
benötigen, durchgeführt. Auf vielen modernen Versionen von Unix werden
Dateitypen durch \fBreaddir()\fP zurückgegeben und daher sind diese Prädikate
schneller auszuwerten als Prädikate, die zuerst Stat für die Datei ausführen
müssen.
.IP 3
Auf dieser Optimierungsstufe ist der vollständig kostenbasierte Optimierer
aktiviert. Die Reihenfolge der Tests wird geändert, so dass günstige
(d.h. schnelle) Tests zuerst und die teureren später durchgeführt werden,
falls nötig. Innerhalb jeder Kostenebene werden Prädikate früher oder später
ausgewertet, je nachdem, ob sie wahrscheinlich erfolgreich sein werden oder
nicht. Für \fB\-o\fP werden Prädikate, die wahrscheinlich erfolgreich sind,
früher ausgewertet und für \fB\-a\fP werden Prädikate die wahrscheinlich
fehlschlagen früher ausgewertet.
.RE
.IP
Der kostenbasierte Optimierer hat eine feste Vorstellung davon, wie
wahrscheinlich ein gegebener Test erfolgreich ist. In einigen Fällen trägt
die Wahrscheinlichkeit einer bestimmten Eigenheit des Tests Rechnung (zum
Beispiel wird von \fB\-type f\fP angenommen, dass es eher erfolgreich ist, als
\fB\-type c\fP). Der kostenbasierte Optimierer wird derzeit untersucht. Falls er
nicht wirklich die Leistung von \fBfind\fP verbessert, wird er wieder
entfernt. Im umgekehrten Fall werden Optimierungen, die beweisen, dass sie
zuverlässig, robust und effektiv sind, im Lauf der Zeit auf niedrigeren
Optimierungsstufen aktiviert. Das Standardverhalten (d.h. Optimierungsstufe
1) wird jedoch nicht in der 4.3.x\-Veröffentlichungsserie geändert. Die
Test\-Suite Findutils führt all die Tests auf \fBfind\fP auf jeder
Optimierungsstufe aus und stellt sicher, dass das Ergebnis das Gleiche ist.
.P
.SH AUSDRÜCKE
Der Ausdruck besteht aus Optionen (die nur das allgemeine Verhalten der
Operationen bestimmen, aber nicht die Verarbeitung einer bestimmten Datei
beeinflussen und immer wahr zurückgeben), Tests (die ein wahr oder falsch
zurückgeben) und Aktionen (die Seiteneffekte haben und wahr oder falsch
zurückgeben), jeweils durch Operatoren getrennt. Wenn der Operator
weggelassen wird, wird \fB\-and\fP angenommen.
Wenn der Ausdruck keine andere Aktion als \fB\-prune\fP enthält, wird für alle
Dateien, für welche der Ausdruck wahr ergibt, die Aktion \fB\-print\fP
durchgeführt.
.SS OPTIONEN
.P
Alle Optionen geben immer wahr zurück. Mit der Ausnahme von \fB\-daystart\fP,
\fB\-follow\fP und \fB\-regextype\fP beeinflussen sie alle Tests einschließlich
derer, die vor der Option angegeben sind. Dies rührt daher, dass die
Optionen verarbeitet werden, wenn die Befehlszeile ausgewertet wird,
wohingegen die Tests nichts tun, bis Dateien untersucht werden. Die Optionen
\fB\-daystart\fP, \fB\-follow\fP und \fB\-regextype\fP unterscheiden sich in dieser
Hinsicht und beeinflussen nur nur Tests, die später auf der Befehlszeile
erscheinen. Daher ist es für die Lesbarkeit besser, sie an den Anfang des
Ausdrucks zu stellen. Eine Warnung wird ausgegeben, wenn Sie das nicht tun.
.IP \-d
ein Synonym für \-depth, für die Kompatibilität mit FreeBSD, NetBSD, MacOS X
und OpenBSD.
.IP \-daystart
misst Zeiten (für \fB\-amin\fP, \fB\-atime\fP, \fB\-cmin\fP, \fB\-ctime\fP, \fB\-mmin\fP und
\fB\-mtime\fP) vom Beginn des aktuellen Tages anstelle der letzten 24
Stunden. Diese Option beeinflusst nur die Tests, die weiter hinten in der
Befehlszeile erscheinen.
.IP \-depth
bearbeitet den Inhalt jedes Verzeichnisses vor dem Verzeichnis selbst. Die
Aktion \-delete impliziert ebenfalls \fB\-depth\fP.
.IP \-follow
missbilligt; verwenden Sie stattdessen die Option \fB\-L\fP; dereferenziert
symbolische Links; impliziert \fB\-noleaf\fP. Die Option \fB\-follow\fP beeinflusst
nur jene Tests, die nach ihr auf der Befehlszeile erscheinen. Wenn die
Option \fB\-H\fP oder \fB\-L\fP nicht angegeben wird, ändert die Position von
\fB\-follow\fP das Verhalten des Prädikats \fB\-newer\fP. Alle Dateien, die als
Argumente von \fB\-newer\fP aufgezählt werden, werden dereferenziert, wenn es
sich bei ihnen um symbolische Links handelt. Das gilt auch für \fB\-anewer\fP
und \fB\-cnewer\fP. Ähnlich wird das Prädikat \fB\-type\fP immer auf den Typ der
Datei angewandt, auf den der symbolische Link zeigt und nicht auf den Link
selbst. Die Verwendung von \fB\-follow\fP hat zur Folge, dass die Prädikate
\fB\-lname\fP und \fB\-ilname\fP immer falsch zurückliefern.
.IP "\-help, \-\-help"
gibt eine Zusammenfassung der Verwendung von \fBfind\fP aus und wird beendet
.IP \-ignore_readdir_race
Normalerweise wird \fBfind\fP eine Fehlermeldung ausgeben, wenn das Ausführen
von Stat für eine Datei fehlschlägt. Falls Sie diese Option angeben und eine
Datei in der Zeit zwischen dem Lesen des Namens im Verzeichnis durch \fBfind\fP
und der Zeit gelöscht wurde, in der Stat für die Datei ausgeführt wird, wird
keine Fehlermeldung ausgegeben. Dies gilt auch für Dateien und
Verzeichnisse, deren Namen auf der Befehlszeile angegeben wurden. Diese
Option tritt dann in Kraft, wenn die Befehlszeile gelesen wird, was
bedeutet, dass Sie nicht einen Teil des Dateisystem durchsuchen können, bei
dem diese Option eingeschaltet ist und einen Teil, bei dem diese Option
ausgeschaltet ist (falls Sie dies tun müssen, werden Sie stattdessen zwei
\fBfind\fP\-Befehle absetzen müssen, einen mit und einen ohne der Option.
.IP "\-maxdepth \fIEbenen\fP"
steigt höchstens \fIEbenen\fP (eine nicht negative Ganzzahl) Ebenen im
Verzeichnisbaum unterhalb der Befehlszeilenargumente hinab.
\fB\-maxdepth 0\fP
bedeutet, dass die Tests und Aktionen nur auf die Befehlszeilenargumente
angewandt werden.
.IP "\-mindepth \fIEbenen\fP"
keine Tests oder Aktionen auf Ebenen kleiner als \fIEbenen\fP (eine nicht
negative Ganzzahl) anwenden. \fB\-mindepth 1\fP bedeutet, dass alle Dateien mit
Ausnahme der Befehlszeilenargumente verarbeitet werden.
.IP \-mount
keine Verzeichnisse auf anderen Dateisystemen hinabsteigen. Ein alternativer
Name für \fB\-xdev\fP aus Kompatibilitätsgründen mit anderen Versionen von
\fBfind\fP.
.IP \-noignore_readdir_race
den Effekt \fB\-ignore_readdir_race\fP ausschalten
.IP \-noleaf
nicht optimieren mit der Annahme, dass Verzeichnisse zwei Unterverzeichnisse
weniger enthalten, als ihre Anzahl harter Links. Diese Option wird benötigt,
wenn Dateisysteme durchsucht werden, die nicht den Konventionen von
Unix\-Verzeichnis\-Links folgen, wie CD\-ROM\-, MS\-DOS\-Dateisysteme oder
AFS\-Datenträgereinhängepunkte. Jedes Verzeichnis auf einem normalen
Unix\-Dateisystem hat mindestens zwei harte Links: seinen Namen und seinen
»..«\-Eintrag. Zusätzlich haben seine Unterverzeichnisse (falls vorhanden)
jeweils einen »..«\-Eintrag, der auf dieses Verzeichnis verweist. Wenn
\fBfind\fP ein Verzeichnis untersucht, weiß es, nachdem es zwei
Unterverzeichnissen weniger als der Links\-Anzahl des Verzeichisses begegnet
ist, dass der Rest der Einträge des Verzeichnisses keine Verzeichnisse sind
(Blätter im Verzeichnisbaum). Falls nur die Namen der Dateien untersucht
werden müssen, gibt es keinen Grund Stat für sie auszuführen; dies führt zu
einer spürbaren Erhöhung der Suchgeschwindigkeit.
.IP "\-regextype \fITyp\fP"
Ändert die Syntax regulärer Ausdrücke, die von \fB\-regex\fP\- und
\fB\-iregex\fP\-Tests verstanden werden, die später auf der Befehlszeile
auftreten. Derzeit implementierte Typen sind »emacs« (das ist die Vorgabe),
»posix\-awk«, »posix\-basic«, »posix\-egrep« und »posix\-extended«.
.IP "\-version, \-\-version"
gibt die Versionsnummer von \fBfind\fP aus und wird beendet
.IP "\-warn, \-nowarn"
schaltet Warnungen ein oder aus. Diese Warnungen betreffen nur die Benutzung
der Befehlszeile, nicht für irgendwelche Bedingungen, auf die \fBfind\fP beim
Durchsuchen von Verzeichnissen stoßen könnte. Das Standardverhalten
entspricht \fB\-warn\fP, falls die Standardeingabe ein Terminal ist und
andernfalls \fB\-nowarn\fP.
.IP \-xdev
keine Verzeichnisse auf anderen Dateisystemen hinabsteigen
.SS TESTS
Einige Tests, zum Beispiel \fB\-newerXY\fP und \fB\-samefile\fP erlauben den
Vergleich der aktuell untersuchten Datei und irgendwelchen Referenzdateien,
die auf der Befehlszeile angegeben wurden.Wenn diese Tests benutzt werden,
wird die Interpretation der Referenzdatei durch die Optionen \fB\-H\fP, \fB\-L\fP,
\fB\-P\fP und jedem vorhergehenden \fB\-follow\fP festgelegt, die Referenzdatei wird
nur einmal zu dem Zeitpunkt untersucht, an dem die Befehlszeile ausgewertet
wird. Falls die Referenzdatei nicht untersucht werden kann (weil zum
Beispiel der Systemaufruf \fBstat\fP(2) dafür fehlschlägt), wird eine
Fehlermeldung ausgegeben und \fBfind\fP endet mit einem Status ungleich null.
.P
Numerische Argumente können angegeben werden als
.IP \fI+n\fP
für größer als \fIn\fP,
.IP \fI\-n\fP
für kleiner als \fIn\fP,
.IP \fIn\fP
für genau \fIn\fP
.P
.IP "\-amin \fIn\fP,"
Auf die Datei wurde zuletzt vor \fIn\fP Minuten zugegriffen.
.IP "\-anewer \fIDatei\fP"
Auf die Datei ist zugegriffen worden, nachdem \fIDatei\fP das letzten Mal
verändert wurde. Falls \fIDatei\fP ein symbolischer Link ist und die Optionen
\fB\-H\fP oder \fB\-L\fP in Kraft sind, wird immer die Zugriffszeit der Datei
benutzt, auf die er zeigt.
.IP "\-atime \fIn\fP"
Auf die Datei ist vor \fIn\fP*24 Stunden zugegriffen worden. Wenn Find
herausfindet, wieviele 24\-Stundenzeiträume es her ist, seit auf die Datei
zugegriffen wurde, wird jeder Bruchteil ignoriert, so dass \fB\-atime\fP \fB+1\fP
auf eine Datei passt, auf die zuletzt vor zwei Tagen zugegriffen wurde.
.IP "\-cmin \fIn\fP"
Der Status der Datei wurde vor \fIn\fP Minuten geändert.
.IP "\-cnewer \fIDatei\fP"
Der Status der Datei wurde verändert, seit \fIDatei\fP zum letzten Mal geändert
wurde. Falls \fIDatei\fP ein symbolischer Link ist und die Optionen \fB\-H\fP oder
\fB\-L\fP in Kraft sind, wird immer die Änderungszeitzeit des Status der Datei
benutzt, auf den er zeigt.
.IP "\-ctime \fIn\fP"
Der Dateistatus wurde zuletzt vor \fIn\fP*24 Stunden geändert. Lesen Sie die
Kommentare zu \fB\-atime\fP, um zu verstehen, wie Rundung die Interpretation der
Dateistatus\-Änderungszeiten beeinflusst.
.IP \-empty
Die Datei ist leer und entweder eine reguläre Datei oder ein Verzeichnis.
.IP \-executable
passt auf ausführbare Dateien und durchsuchbare Verzeichnisse (im Sinn der
Namensauflösung). Dies berücksichtigt Zugriffssteuerungslisten (Access
Control Lists) und andere Artefakte von Benutzerrechten, die der Test
\fB\-perm\fP ignoriert. Dieser Test macht Gebrauch vom Systemaufruf \fBaccess\fP(2)
und kann daher durch NFS\-Server getäuscht werden, die Abbildung der
Benutzerkennzahl (oder Root\-Squashing) nutzen, da viele Systeme \fBaccess\fP(2)
im Kernel des Clients implementieren und daher von den
Abbildungsinformationen der Benutzerkennzahlen keinen Gebrauch machen
können, die auf dem Server gehalten werden. Da dieser Test nur auf dem
Ergebnis des Systemaufrufs \fBaccess\fP(2) basiert, gibt es keine
Gewährleistung, dass eine Datei, bei der dieser Test erfolgreich war,
tatsächlich ausgeführt werden kann.
.IP \-false
Immer falsch
.IP "\-fstype \fITyp\fP"
Die Datei liegt auf einem Dateisystem des Typs \fITyp\fP. Die gültigen
Dateisystemtypen variieren zwischen verschiedenen Versionen von Unix; eine
unvollständige Liste der Dateisystemtypen, die auf einigen Versionen von
Unix und anderen akzeptiert werden ist Folgende: ufs, 4.2, 4.3, nfs,tmp,
mfs, S51K und S52K. Sie können \fB\-printf\fP mit der Option %F benutzen, um die
Typen Ihrer Dateisysteme zu sehen.
.IP "\-gid \fIn\fP"
Die numerische Gruppenkennzahl der Datei ist \fIn\fP.
.IP "\-group \fIgname\fP"
Datei gehört der Gruppe \fIGruppenname\fP (numerische Gruppenkennzahlen
erlaubt).
.IP "\-ilname \fIMuster\fP"
wie \fB\-lname\fP, aber der Treffer berücksichtigt keine
Groß\-/Kleinschreibung. Falls die Option \fB\-follow\fP in Kraft ist, gibt dieser
Test falsch zurück, außer wenn der symbolische Link kaputt ist.
.IP "\-iname \fIMuster\fP"
Funktioniert genauso wie \fB\-name\fP ohne jedoch Groß\- und Kleinschreibung zu
berücksichtigen. Zum Beispiel werden die Muster »fo*« und »F??« beide die
Dateien »Foo«, »FOO«, »foo«, »fOo« usw. finden. In diesen Mustern können, im
Gegensatz zur Dateinamensexpansion durch die Shell, auch Dateinamen mit
einem ».« am Anfang von einem »*« abgedeckt sein. Daher wird \fBfind \-name
*bar\fP auch Dateien wie ».foo\-bar« finden. Bitte beachten Sie, dass Sie die
Muster mit Anführungszeichen umschließen, ansonsten werden sämtliche
Platzhalterzeichen bereits von der Shell expandiert.
.IP "\-inum \fIn\fP"
Datei hat die Inode\-Nummer \fIn\fP. Es ist normalerweise einfacher, stattdessen
den Test \fB\-samefile\fP zu benutzen.
.IP "\-ipath \fIMuster\fP"
verhält sich wie \fB\-iwholename\fP. Diese Option ist missbilligt, benutzen Sie
sie daher bitte nicht.
.IP "\-iregex \fIMuster\fP"
wie \fB\-regex\fP, aber der Treffer berücksichtigt keine Groß\-/Kleinschreibung
.IP "\-iwholename \fIMuster\fP"
wie \fB\-wholename\fP, aber der Treffer berücksichtigt keine
Groß\-/Kleinschreibung
.IP "\-links \fIn\fP"
Datei hat \fIn\fP Links.
.IP "\-lname \fIMuster\fP"
Datei ist ein symbolischer Link, dessen Inhalt zum Shell\-Muster \fIMuster\fP
passt. Insbesondere behandeln die Metazeichen nicht »/« oder ».«. Falls die
Optionen \fB\-L\fP oder \fB\-follow\fP in Kraft sind, gibt dieser Test falsch
zurück, außer wenn der symbolische Link kaputt ist.
.IP "\-mmin \fIn\fP"
Daten der Datei wurden zuletzt vor \fIn\fP Minuten verändert.
.IP "\-mtime \fIn\fP"
Daten der Datei wurden zuletzt vor \fIn\fP*24 Stunden verändert. Lesen Sie die
Kommentare zu \fB\-atime\fP, um zu verstehen, wie Rundung die Interpretation der
Dateiänderungszeiten beeinflusst.
.IP "\-name \fIMuster\fP"
Der Dateiname ohne führende Verzeichnisse (basename) passt zum Shell\-Muster
\fIMuster\fP. Die Metazeichen (»*«, »?« und »[]«) entsprechen einem ».« am
Anfang des Basisnamens (dies ist eine Änderung in findutils\-4.2.2; siehe
Abschnitt STANDARDKONFORMITÄT unten). Um ein Verzeichnis und die Dateien
darin zu ignorieren, benutzen Sie \fB\-prune\fP; ein Beispiel finden Sie in der
Beschreibung von \fB\-path\fP. Klammern werden nicht als etwas Besonderes
erkannt, trotz der Tatsache, dass einige Shells einschließlich der Bash
Klammern eine besondere Bedeutung innerhalb von Shell\-Mustern beimessen. Der
Dateinamensabgleich wird unter Benutzung der Bibliotheksfunktion
\fBfnmatch\fP(3) durchgeführt. Vergessen Sie nicht, das Muster in
Anführungszeichen zu setzen, um es vor Expandierung durch die Shell zu
schützen.
.IP "\-newer \fIDatei\fP"
Datei ist später verändert worden als \fIDatei\fP. Falls \fIDatei\fP ein
symbolischer Link ist und die Optionen \fB\-H\fP oder \fB\-L\fP in Kraft sind, wird
immer die Veränderungszeit der Datei benutzt, auf den er verweist.
.IP "\-newerXY \fIBezug\fP"
Vergleicht den Zeitstempel der aktuellen Datei mit \fIBezug\fP. Das Argument
\fIBezug\fP ist normalerweise der Name einer Datei (und einer ihrer Zeitstempel
wird für den Vergleich benutzt), aber es könnte auch eine Zeichenkette sein,
die eine absolute Zeit beschreibt. \fIX\fP und \fIY\fP sind Platzhalter für andere
Buchstaben. Diese Buchstaben wählen aus, welche zugehörige Zeit für den
Vergleich mit \fIBezug\fP benutzt wird.
.TS
ll
ll
ll
ll
llw(2i).
a Die Zugriffszeit der Datei \fIBezug\fP
B Die Erstellungszeit der Datei \fIBezug\fP
c Die Inode\-Statusänderungszeit von \fIBezug\fP
m Die Änderungszeit der Datei \fIBezug\fP
t \fIBezug\fP wird direkt als eine Zeit interpretiert
.TE
Einige Kombinationen sind ungültig. So darf \fIX\fP bespielsweise nicht \fIt\fP
sein. Einige Kombinationen sind nicht auf allen Systemen implementiert. \fIB\fP
wird beispielsweise nicht von allen Systemen unterstützt. Falls eine
ungültige oder nicht unterstützte Kombination von \fIXY\fP angegeben wurde,
kommt es dadurch zu einem schwerwiegenden Fehler. Zeitangaben werden
diesbezüglich wie das Argument zu der Option \fB\-d\fP von GNU\-\fBdate\fP
interpretiert. Falls Sie versuchen die Erstellungszeit einer Bezugsdatei zu
benutzen und die Erstellungszeit nicht bestimmt werden kann, kommt es
dadurch zu einer Nachricht über einen schwerwiegenden Fehler. Falls Sie
einen Test angeben, der sich auf die Erstellungszeit der Dateien bezieht,
die untersucht werden, wird dieser Test für jene Dateien fehlschlagen, deren
Erstellungszeit nicht bekannt ist.
.IP \-nogroup
Der numerische Gruppenkennzahl der Datei entspricht keiner Gruppe.
.IP \-nouser
Die numerische Benutzerkennzahl der Datei gehört zu keinem Benutzer.
.IP "\-path \fIMuster\fP"
Der Dateiname passt zum Shell\-Muster \fIMuster\fP. Die Metazeichen behandeln
»/« oder ».« nicht besonders; daher wird zum Beispiel
.br
.in +1i
find . \-path "./sr*sc"
.br
.in -1i
einen Eintrag für ein Verzeichnis mit Namen »./src/misc« ausgeben (falls
eines exisitert). Benutzen Sie \fB\-prune\fP, um einen ganzen Verzeichnisbaum zu
ignorieren, anstatt jede Datei im Baum zu überprüfen. Um beispielsweise das
Verzeichnis »src/emacs« und alle Dateien und Verzeichnisse darin zu
überspringen und die Namen der anderen gefundenen Dateien auszugeben,
versuchen Sie Folgendes:
.br
.in +1i
find . \-path ./src/emacs \-prune \-o \-print
.br
.in -1i
Beachten Sie, dass Mustervergleichstests auf den ganzen Dateinamen angewandt
werden, beginnend von einem der auf der Befehlszeile benannten
Startpunkte. Es würde nur Sinn ergeben, hier einen absoluten Pfadnamen zu
benutzen, wenn der maßgebliche Startpunkt auch ein absoluter Pfad wäre. Dies
bedeutet, dass dieser Befehl niemals auf etwas zutreffen wird:
.br
.in +1i
find bar \-path /foo/bar/myfile \-print
.br
.in -1i
Das Prädikat \fB\-path\fP wird auch auf HP\-UX durch \fBfind\fP unterstützt und wird
in einer kommenden Version des POSIX\-Standards enthalten sein.
.IP "\-perm \fIModus\fP"
Die Zugriffsrechte der Datei entsprechen exakt dem \fIModus\fP (oktal oder
symbolisch). Da exakte Übereinstimmung nötig ist, wenn Sie diese Form für
symbolische Modi benutzen möchten, müssen Sie möglicherweise eine eher
komplexe Moduszeichenkette angeben. \fB\-perm g=w\fP wird beispielsweise nur bei
Dateien zutreffen, die den Modus 0020 haben (also einer, bei dem das
Schreibrecht der Gruppe das einzige gesetzte Recht ist). Wahrscheinlicher
ist, dass Sie die Formen »/« oder »\-« benutzen möchten, zum Beispiel \fB\-perm
\-g=w\fP, was auf jede Datei mit Gruppenschreibrechten passt. Einige
anschauliche Beispiele finden Sie im Abschnitt \fBBEISPIELE\fP.
.IP "\-perm \-\fIModus\fP"
Alle Rechte\-Bits \fIModus\fP sind für diese Datei gesetzt. Symbolische Modi
werden in dieser Form akzeptiert. Dies ist üblicherweise die Art, auf die
Sie sie benutzen möchten. Sie müssen »u«, »g« oder »o« angeben, falls Sie
einen symbolischen Modus verwenden. Einige anschauliche Beispiele finden Sie
im Abschnitt \fBBEISPIELE\fP.
.IP "\-perm /\fIModus\fP"
Einige der Rechte\-Bits \fIModus\fP sind für diese Datei gesetzt. Symbolische
Modi werden in dieser Form akzeptiert. Sie müssen »u«, »g« oder »o« angeben,
falls Sie einen symbolischen Modus verwenden. Einige anschauliche Beispiele
finden Sie im Abschnitt \fBBEISPIELE\fP. Falls keine Rechte\-Bits in \fIModus\fP
gesetzt sind, trifft dieser Test auf alle Dateien zu (die Idee, die dahinter
steckt, ist das durchgängige Verhalten zu \fB\-perm\fP \fB\-000\fP).
.IP "\-perm +\fIModus\fP"
missbilligt. Dies ist die alte Methode nach Dateien zu suchen, deren
Rechte\-Bits in \fIModus\fP gesetzt sind. Sie sollten stattdessen \fB\-perm
\fP\fI/Modus\fP benutzen. Der Versuch, die »+«\-Syntax mit symbolischen Links zu
verwenden, wird zu überraschenden Ergebnissen führen. »u+x« ist
beispielsweise ein gültiger symbolischer Modus (entspricht +u,+x, d.h. 0111)
und wird daher nicht von \fB\-perm +\fP\fIModus\fP ausgewertet, stattdessen aber
als die genaue Modusangabe \fB\-perm \fP\fIModus\fP. Daher entspricht es Dateien
mit exakt den Rechten 0111 anstatt den Dateien, deren Ausführungs\-Bit
gesetzt ist. Falls Sie diesen Paragraph verwirrend finden, stehen Sie damit
nicht allein da – benutzen Sie nur \fB\-perm /\fP\fIModus\fP. Diese Form des Tests
\fB\-perm\fP ist missbilligt, da die POSIX\-Spezifikation eine Interpretation des
führenden »+« als Teil des symbolischen Modus erfordert, wodurch stattdessen
zur Benutzung von »/« gewechselt wird.
.IP \-readable
trifft zu auf lesbare Dateien. Dies berücksichtigt Zugriffssteuerungslisten
(ACLs) und andere Artefakte von Rechten, die der Test \fB\-perm\fP
ignoriert. Dieser Test macht Gebrauch vom Systemaufruf \fBaccess\fP(2) und kann
daher durch NFS\-Server getäuscht werden, die Abbildung der Benutzerkennzahl
(oder Root\-Squashing) nutzen, da viele Systeme \fBaccess\fP(2) im Kernel des
Clients implementieren und daher von den Abbildungsinformationen der
Benutzerkennzahlen keinen Gebrauch machen können, die auf dem Server
gehalten werden.
.IP "\-regex \fIMuster\fP"
der Dateiname passt zu dem regulären Ausdruck \fIMuster\fP. Dies ist ein
Treffer auf den gesamten Pfad, keine Suche. Um beispielsweise eine Datei mit
dem Namen »./fubar3« zu finden, können Sie die regulären Ausdrücke ».*bar.«
oder ».*b.*3« benutzen, aber nicht »f.*r3«. Die regulären Ausdrücke, die
\fBfind\fP versteht, sind standardmäßig reguläre Ausdrücke von Emacs, dies kann
aber mit der Option \fB\-regextype\fP geändert werden.
.IP "\-samefile \fIName\fP"
Datei bezieht sich auf den gleichen Inode wie \fIName\fP. Wenn \fB\-L\fP in Kraft
ist, kann dies symbolische Links umfassen.
.IP "\-size \fIn\fP[cwbkMG]"
Datei belegt \fIn\fP Speichereinheiten. Die folgenden Endungen können benutzt
werden:
.RS
.IP »b«
für 512\-Byte\-Blöcke (dies ist die Vorgabe, wenn keine Endung benutzt wird)
.IP »c«
für Byte
.IP »w«
für Wörter aus zwei Byte
.IP »k«
für Kilobyte (Einheiten aus 1024 Byte)
.IP »M«
für Megabyte (Einheiten aus 1048576 Byte)
.IP »G«
für Gigabyte (Einheiten aus 1073741824 Byte)
.RE
.IP
Zur Ermittlung der Größe werden keine indirekten Blöcke gezählt, aber Blöcke
in Datei mit Löchern (Sparse\-Dateien), die nicht wirklich reserviert
sind. Vergessen Sie nicht, dass die Formatbezeichner »%k« und »%b« von
\fB\-printf\fP Dateien mit Löchern unterschiedlich handhaben. Die Endung »b«
kennzeichnet immer 512\-Byte\-Blöcke und nie 1\-Kilobyte\-Blöcke, was sich vom