Provided by: manpages-de_0.10-1_all bug

BEZEICHNUNG

       find - in einer Verzeichnishierarchie nach Dateien suchen

ÜBERSICHT

       find [-H] [-L] [-P] [-D Fehlersuchoptionen] [-Olevel] [Pfad …] [Ausdruck]

BESCHREIBUNG

       Diese  Handbuchseite  beschreibt  die  GNU  Version  von  find.  GNU-find  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
       UND-Operatoren  und  wahr  für  ODER-Operatoren). Anschließend fährt find mit der nächsten
       Datei fort.

       Falls Sie find 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 Finding Files
       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.

OPTIONEN

       Die  Optionen  -H,  -L  und  -P 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 -print benutzt (aber Sie sollten vermutlich
       sowieso in Betracht ziehen, stattdessen -print0 zu verwenden).

       Dieses  Handbuch  spricht  von  »Optionen«  innerhalb  einer  Liste  von Ausdrücken. Diese
       Optionen steuern das Verhalten von find, werden aber direkt  nach  dem  letzten  Pfadnamen
       angegeben.  Die  fünf  »echten« Optionen -L, -P, -D und -O müssen wenn dann vor dem ersten
       Pfadnamen erscheinen. Außerdem kann ein doppeltes Minuszeichen -- 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).

       -P     keinen  symbolischen  Links  folgen. Dies ist das Standardverhalten. Wenn find 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.

       -L     symbolischen Links folgen. Wenn find 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 find nicht in der Lage, die Datei zu untersuchen,
              auf die der Link  zeigt).  Die  Verwendung  dieser  Option  impliziert  die  Option
              -noleaf.  Wenn  Sie  später  die  Option  -P  verwenden,  wird  -noleaf  immer noch
              Auswirkungen haben.  Wenn  -L  aktiv  ist  und  find  während  seiner  Suche  einen
              symbolischen  Link  zu  einem Unterverzeichnis vorfindet, wird das Unterverzeichnis
              durchsucht, auf das der symbolische Link zeigt.

              Wenn die Option -L in Kraft ist, wird das Prädikat -type  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 -L bewirkt, dass
              die Prädikate -lname und -ilname immer falsch zurückliefern.

       -H     keinen  symbolischen  Links  folgen, es sei denn, die Parameter in der Befehlszeile
              werden ausgewertet. Wenn find 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 -H
              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).

       Falls mehr als eine der Optionen -H, -L und -P angegeben  ist,  setzt  jedes  die  anderen
       außer  Kraft;  das letzte, das auf der Befehlszeile erscheint, gilt. Die Option -P ist die
       Voreinstellung. Wenn weder -H noch -L angegeben wurden, ist es, als  wäre  dies  angegeben
       worden.

       GNU-find  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  -P
       in  Kraft  ist  (oder falls weder -H noch -L 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 find
       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.

       Wenn die Optionen -H oder -L in Kraft sind, wird jeder symbolische Link als  Argument  von
       -newer  dereferenziert  und  der  Zeitstempel  wird  von  der  Datei genommen, auf die der
       symbolische Link verweist. Die  gleichen  Erwägungen  gelten  für  -newerXY,  -anewer  und
       -cnewer.

       Die  Option  -follow  hat  ähnliche  Auswirkungen wie -L, obwohl sie an dem Punkt in Kraft
       tritt, an dem sie erscheint (sprich, wenn -L nicht benutzt wird, aber -follow, werden alle
       symbolischen   Links,   die   nach   -follow   auf  der  Befehlszeile  erscheinen,  vorher
       dereferenziert).

       -D Debug-Optionen
              Diagnoseinformationen  ausgeben;  dies  kann  hilfreich  sein,   um   Probleme   zu
              diagnostizieren,  warum  find  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 find -D help. Gültige Debug-Optionen sind unter anderem:

              help   Erklärt die Debugging-Optionen

              tree   zeigt den Ausdrucksbaum in seiner originalen und optimierten Form

              stat   meldet,  wenn  Dateien  mit  den  Systemaufrufen  stat  und lstat untersucht
                     werden.  Das  Programm  find  versucht,  die  Anzahl  solcher   Aufrufe   zu
                     minimieren.

              opt    gibt Diagnoseinformationen bezüglich der Optimierung des Ausdrucksbaums aus;
                     siehe die Option -O.

              rates  gibt  eine  Zusammenfassung  aus,  die  angibt,  wie  oft   jedes   Prädikat
                     erfolgreich war oder fehlschlug.

       -Olevel
              aktiviert  Abfragenoptimierung.  Das  Programm  find  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.

              0      entspricht der Optimierungsstufe 1

              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  -name  und  -regex)  zuerst
                     durchgeführt werden.

              2      Irgendwelche -type- oder -xtype-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  readdir()  zurückgegeben  und  daher sind diese Prädikate
                     schneller auszuwerten als Prädikate, die zuerst Stat für die Datei ausführen
                     müssen.

              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 -o werden Prädikate, die wahrscheinlich erfolgreich sind,  früher
                     ausgewertet  und  für  -a  werden  Prädikate die wahrscheinlich fehlschlagen
                     früher ausgewertet.

              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  -type  f
              angenommen,  dass  es  eher  erfolgreich  ist,  als  -type  c).  Der kostenbasierte
              Optimierer wird derzeit untersucht. Falls er nicht wirklich die Leistung  von  find
              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  find  auf jeder
              Optimierungsstufe aus und stellt sicher, dass das Ergebnis das Gleiche ist.

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 -and angenommen.

       Wenn der Ausdruck keine andere Aktion als -prune  enthält,  wird  für  alle  Dateien,  für
       welche der Ausdruck wahr ergibt, die Aktion -print durchgeführt.

   OPTIONEN
       Alle  Optionen  geben  immer  wahr  zurück.  Mit  der  Ausnahme von -daystart, -follow und
       -regextype 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  -daystart,  -follow  und  -regextype  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.

       -d     ein Synonym für -depth, für die Kompatibilität mit FreeBSD,  NetBSD,  MacOS  X  und
              OpenBSD.

       -daystart
              misst  Zeiten  (für  -amin, -atime, -cmin, -ctime, -mmin und -mtime) vom Beginn des
              aktuellen Tages anstelle der letzten 24 Stunden. Diese Option beeinflusst  nur  die
              Tests, die weiter hinten in der Befehlszeile erscheinen.

       -depth bearbeitet  den  Inhalt jedes Verzeichnisses vor dem Verzeichnis selbst. Die Aktion
              -delete impliziert ebenfalls -depth.

       -follow
              missbilligt; verwenden Sie stattdessen die Option  -L;  dereferenziert  symbolische
              Links;  impliziert -noleaf. Die Option -follow beeinflusst nur jene Tests, die nach
              ihr auf der Befehlszeile erscheinen. Wenn die Option -H  oder  -L  nicht  angegeben
              wird,  ändert  die  Position  von  -follow das Verhalten des Prädikats -newer. Alle
              Dateien, die als Argumente von -newer  aufgezählt  werden,  werden  dereferenziert,
              wenn  es sich bei ihnen um symbolische Links handelt. Das gilt auch für -anewer und
              -cnewer. Ähnlich wird das Prädikat -type immer auf den Typ der Datei angewandt, auf
              den  der  symbolische  Link zeigt und nicht auf den Link selbst. Die Verwendung von
              -follow hat  zur  Folge,  dass  die  Prädikate  -lname  und  -ilname  immer  falsch
              zurückliefern.

       -help, --help
              gibt eine Zusammenfassung der Verwendung von find aus und wird beendet

       -ignore_readdir_race
              Normalerweise  wird  find  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 find 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 find-Befehle absetzen müssen, einen mit und einen ohne der Option.

       -maxdepth Ebenen
              steigt höchstens Ebenen (eine nicht negative Ganzzahl)  Ebenen  im  Verzeichnisbaum
              unterhalb  der  Befehlszeilenargumente  hinab. -maxdepth 0 bedeutet, dass die Tests
              und Aktionen nur auf die Befehlszeilenargumente angewandt werden.

       -mindepth Ebenen
              keine Tests oder Aktionen auf  Ebenen  kleiner  als  Ebenen  (eine  nicht  negative
              Ganzzahl)  anwenden.  -mindepth  1  bedeutet,  dass  alle  Dateien mit Ausnahme der
              Befehlszeilenargumente verarbeitet werden.

       -mount keine Verzeichnisse auf anderen Dateisystemen hinabsteigen. Ein  alternativer  Name
              für -xdev aus Kompatibilitätsgründen mit anderen Versionen von find.

       -noignore_readdir_race
              den Effekt -ignore_readdir_race ausschalten

       -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 find 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.

       -regextype Typ
              Ändert die Syntax regulärer Ausdrücke, die von -regex- und -iregex-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«.

       -version, --version
              gibt die Versionsnummer von find aus und wird beendet

       -warn, -nowarn
              schaltet Warnungen ein oder aus. Diese Warnungen betreffen nur  die  Benutzung  der
              Befehlszeile, nicht für irgendwelche Bedingungen, auf die find beim Durchsuchen von
              Verzeichnissen stoßen könnte. Das Standardverhalten  entspricht  -warn,  falls  die
              Standardeingabe ein Terminal ist und andernfalls -nowarn.

       -xdev  keine Verzeichnisse auf anderen Dateisystemen hinabsteigen

   TESTS
       Einige  Tests,  zum  Beispiel  -newerXY  und  -samefile 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 -H, -L, -P und jedem vorhergehenden  -follow  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
       stat(2)  dafür  fehlschlägt),  wird eine Fehlermeldung ausgegeben und find endet mit einem
       Status ungleich null.

       Numerische Argumente können angegeben werden als

       +n     für größer als n,

       -n     für kleiner als n,

       n      für genau n

       -amin n,
              Auf die Datei wurde zuletzt vor n Minuten zugegriffen.

       -anewer Datei
              Auf die Datei ist zugegriffen worden,  nachdem  Datei  das  letzten  Mal  verändert
              wurde.  Falls  Datei ein symbolischer Link ist und die Optionen -H oder -L in Kraft
              sind, wird immer die Zugriffszeit der Datei benutzt, auf die er zeigt.

       -atime n
              Auf die Datei ist vor n*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 -atime +1 auf eine Datei passt, auf die  zuletzt
              vor zwei Tagen zugegriffen wurde.

       -cmin n
              Der Status der Datei wurde vor n Minuten geändert.

       -cnewer Datei
              Der  Status  der  Datei wurde verändert, seit Datei zum letzten Mal geändert wurde.
              Falls Datei ein symbolischer Link ist und die Optionen -H oder -L  in  Kraft  sind,
              wird immer die Änderungszeitzeit des Status der Datei benutzt, auf den er zeigt.

       -ctime n
              Der  Dateistatus  wurde zuletzt vor n*24 Stunden geändert. Lesen Sie die Kommentare
              zu   -atime,   um   zu   verstehen,   wie   Rundung    die    Interpretation    der
              Dateistatus-Änderungszeiten beeinflusst.

       -empty Die Datei ist leer und entweder eine reguläre Datei oder ein Verzeichnis.

       -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 -perm ignoriert.
              Dieser Test  macht  Gebrauch  vom  Systemaufruf  access(2)  und  kann  daher  durch
              NFS-Server   getäuscht   werden,   die   Abbildung   der   Benutzerkennzahl   (oder
              Root-Squashing)  nutzen,  da  viele  Systeme  access(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   access(2)  basiert,  gibt  es  keine
              Gewährleistung, dass eine Datei, bei der dieser Test erfolgreich  war,  tatsächlich
              ausgeführt werden kann.

       -false Immer falsch

       -fstype Typ
              Die  Datei  liegt auf einem Dateisystem des Typs Typ. 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  -printf  mit
              der Option %F benutzen, um die Typen Ihrer Dateisysteme zu sehen.

       -gid n Die numerische Gruppenkennzahl der Datei ist n.

       -group gname
              Datei gehört der Gruppe Gruppenname (numerische Gruppenkennzahlen erlaubt).

       -ilname Muster
              wie  -lname, aber der Treffer berücksichtigt keine Groß-/Kleinschreibung. Falls die
              Option -follow in Kraft ist,  gibt  dieser  Test  falsch  zurück,  außer  wenn  der
              symbolische Link kaputt ist.

       -iname Muster
              Funktioniert   genauso   wie   -name  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 find -name *bar 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.

       -inum n
              Datei  hat die Inode-Nummer n. Es ist normalerweise einfacher, stattdessen den Test
              -samefile zu benutzen.

       -ipath Muster
              verhält sich wie -iwholename. Diese Option ist missbilligt, benutzen Sie sie  daher
              bitte nicht.

       -iregex Muster
              wie -regex, aber der Treffer berücksichtigt keine Groß-/Kleinschreibung

       -iwholename Muster
              wie -wholename, aber der Treffer berücksichtigt keine Groß-/Kleinschreibung

       -links n
              Datei hat n Links.

       -lname Muster
              Datei  ist  ein  symbolischer  Link,  dessen  Inhalt zum Shell-Muster Muster passt.
              Insbesondere behandeln die Metazeichen nicht »/« oder ».«. Falls  die  Optionen  -L
              oder  -follow  in  Kraft  sind,  gibt  dieser  Test  falsch  zurück, außer wenn der
              symbolische Link kaputt ist.

       -mmin n
              Daten der Datei wurden zuletzt vor n Minuten verändert.

       -mtime n
              Daten der Datei wurden zuletzt vor n*24 Stunden verändert. Lesen Sie die Kommentare
              zu -atime, um zu verstehen, wie Rundung die Interpretation der Dateiänderungszeiten
              beeinflusst.

       -name Muster
              Der Dateiname ohne führende Verzeichnisse (basename) passt zum Shell-Muster Muster.
              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
              -prune; ein Beispiel finden Sie in der  Beschreibung  von  -path.  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 fnmatch(3) durchgeführt. Vergessen Sie  nicht,  das  Muster  in
              Anführungszeichen zu setzen, um es vor Expandierung durch die Shell zu schützen.

       -newer Datei
              Datei  ist später verändert worden als Datei. Falls Datei ein symbolischer Link ist
              und die Optionen -H oder -L in Kraft sind,  wird  immer  die  Veränderungszeit  der
              Datei benutzt, auf den er verweist.

       -newerXY Bezug
              Vergleicht  den  Zeitstempel  der aktuellen Datei mit Bezug. Das Argument Bezug 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. X und Y sind Platzhalter für andere Buchstaben.  Diese  Buchstaben
              wählen aus, welche zugehörige Zeit für den Vergleich mit Bezug benutzt wird.

              a   Die Zugriffszeit der Datei Bezug
              B   Die Erstellungszeit der Datei Bezug
              c   Die Inode-Statusänderungszeit von Bezug
              m   Die Änderungszeit der Datei Bezug
              t   Bezug wird direkt als eine Zeit interpretiert

              Einige  Kombinationen  sind  ungültig. So darf X bespielsweise nicht t sein. Einige
              Kombinationen sind nicht auf allen Systemen implementiert.  B  wird  beispielsweise
              nicht  von allen Systemen unterstützt. Falls eine ungültige oder nicht unterstützte
              Kombination von XY angegeben wurde,  kommt  es  dadurch  zu  einem  schwerwiegenden
              Fehler.  Zeitangaben  werden  diesbezüglich  wie  das Argument zu der Option -d von
              GNU-date 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.

       -nogroup
              Der numerische Gruppenkennzahl der Datei entspricht keiner Gruppe.

       -nouser
              Die numerische Benutzerkennzahl der Datei gehört zu keinem Benutzer.

       -path Muster
              Der Dateiname passt zum Shell-Muster Muster. Die Metazeichen behandeln »/« oder ».«
              nicht besonders; daher wird zum Beispiel
                        find . -path "./sr*sc"
              einen  Eintrag  für  ein  Verzeichnis  mit Namen »./src/misc« ausgeben (falls eines
              exisitert). Benutzen Sie -prune, 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:
                        find . -path ./src/emacs -prune -o -print
              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:
                        find bar -path /foo/bar/myfile -print
              Das  Prädikat  -path  wird  auch auf HP-UX durch find unterstützt und wird in einer
              kommenden Version des POSIX-Standards enthalten sein.

       -perm Modus
              Die Zugriffsrechte der Datei entsprechen exakt dem Modus (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.  -perm  g=w  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 -perm -g=w, was  auf  jede  Datei  mit  Gruppenschreibrechten
              passt. Einige anschauliche Beispiele finden Sie im Abschnitt BEISPIELE.

       -perm -Modus
              Alle  Rechte-Bits  Modus  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 BEISPIELE.

       -perm /Modus
              Einige der Rechte-Bits Modus 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
              BEISPIELE.  Falls  keine  Rechte-Bits in Modus gesetzt sind, trifft dieser Test auf
              alle Dateien zu (die Idee, die dahinter steckt, ist das durchgängige  Verhalten  zu
              -perm -000).

       -perm +Modus
              missbilligt. Dies ist die alte Methode nach Dateien zu suchen, deren Rechte-Bits in
              Modus gesetzt sind. Sie sollten stattdessen -perm /Modus 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 -perm +Modus ausgewertet, stattdessen aber als
              die genaue Modusangabe -perm Modus. 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   -perm   /Modus.   Diese   Form  des  Tests  -perm  ist  missbilligt,  da  die
              POSIX-Spezifikation eine Interpretation des führenden »+« als Teil des symbolischen
              Modus erfordert, wodurch stattdessen zur Benutzung von »/« gewechselt wird.

       -readable
              trifft  zu auf lesbare Dateien. Dies berücksichtigt Zugriffssteuerungslisten (ACLs)
              und andere Artefakte von Rechten, die der Test -perm ignoriert. Dieser  Test  macht
              Gebrauch  vom  Systemaufruf  access(2)  und  kann  daher durch NFS-Server getäuscht
              werden, die Abbildung der Benutzerkennzahl (oder Root-Squashing) nutzen,  da  viele
              Systeme   access(2)  im  Kernel  des  Clients  implementieren  und  daher  von  den
              Abbildungsinformationen der Benutzerkennzahlen keinen Gebrauch machen  können,  die
              auf dem Server gehalten werden.

       -regex Muster
              der  Dateiname passt zu dem regulären Ausdruck Muster. 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  find  versteht,  sind  standardmäßig
              reguläre  Ausdrücke  von  Emacs,  dies kann aber mit der Option -regextype geändert
              werden.

       -samefile Name
              Datei bezieht sich auf den gleichen Inode wie Name. Wenn -L in Kraft ist, kann dies
              symbolische Links umfassen.

       -size n[cwbkMG]
              Datei belegt n Speichereinheiten. Die folgenden Endungen können benutzt werden:

              »b«    für 512-Byte-Blöcke (dies ist die Vorgabe, wenn keine Endung benutzt wird)

              »c«    für Byte

              »w«    für Wörter aus zwei Byte

              »k«    für Kilobyte (Einheiten aus 1024 Byte)

              »M«    für Megabyte (Einheiten aus 1048576 Byte)

              »G«    für Gigabyte (Einheiten aus 1073741824 Byte)

              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 -printf Dateien mit Löchern
              unterschiedlich handhaben. Die Endung »b« kennzeichnet  immer  512-Byte-Blöcke  und
              nie 1-Kilobyte-Blöcke, was sich vom Verhalten von -ls unterscheidet.

       -true  immer wahr

       -type c
              Datei ist vom Typ c;:

              b      blockorientierte Spezialdatei (gepuffert)

              c      zeichenorientierte Spezialdatei (nicht gepuffert)

              d      Verzeichnis

              p      benannte Pipe (FIFO)

              f      reguläre Datei

              l      symbolischer Link; dies ist niemals wahr, falls die Optionen -L oder -follow
                     in Kraft sind, außer wenn der symbolische Link kaputt ist.  Falls  Sie  nach
                     symbolischen  Links  suchen  möchten,  während -L in Kraft ist, benutzen Sie
                     -xtype.

              s      Socket

              D      Door (Solaris)

       -uid n Die numerische Benutzerkennzahl der Datei ist n.

       -used n
              Auf die Datei ist n Tage nach ihrer letzten Statusänderung zugegriffen worden.

       -user Benutzername
              Die Datei gehört dem Anwender Benutzername (numerische Benutzerkennzahl erlaubt).

       -wholename Muster
              Siehe -path. Diese Alternative ist nicht so portierbar wie -path.

       -writable
              passt auf schreibbare Dateien. Die berücksichtigt  Zugriffssteuerungslisten  (ACLs)
              und  andere  Artefakte von Rechten, die der Test -perm ignoriert. Dieser Test macht
              Gebrauch vom Systemaufruf access(2)  und  kann  daher  durch  NFS-Server  getäuscht
              werden,  die  Abbildung der Benutzerkennzahl (oder Root-Squashing) nutzen, da viele
              Systeme  access(2)  im  Kernel  des  Clients  implementieren  und  daher  von   den
              Abbildungsinformationen  der  Benutzerkennzahlen keinen Gebrauch machen können, die
              auf dem Server gehalten werden.

       -xtype c
              das Gleiche wie -type,  außer  wenn  die  Datei  ein  symbolischer  Link  ist.  Für
              symbolische  Links  gilt:  Falls die Optionen -H oder -P angegeben wurden, ist dies
              wahr, wenn die Datei ein Link auf eine Datei des Typs c ist oder, falls die  Option
              -L angegeben wurde, wenn c »l« ist. Anders ausgedrückt, für symbolische Links prüft
              -xtype den Typ der Datei, den -type nicht prüft.

   AKTIONEN
       -delete
              Dateien löschen; wahr, falls erfolgreich entfernt. Falls das Entfernen fehlschlägt,
              wird   eine   Fehlermeldung   ausgegeben.   Falls  -delete  fehlschlägt,  wird  der
              Rückgabewert von find ungleich null sein (wenn es letztendlich beendet  wird).  Das
              Benutzen von -delete schaltet automatisch die Option -depth ein.

              Warnungen:  Vergessen  Sie  nicht,  dass  die  Find-Befehlszeile  als  ein Ausdruck
              ausgewertet wird. Daher wird das Voranstellen von -delete  dazu führen,  dass  find
              versucht  alles  was Sie unterhalb des Startpunkts angegeben haben zu löschen. Wenn
              Sie eine find-Befehlszeile testen, die Sie  später  beabsichtigen  mit  -delete  zu
              nutzen,   sollten  Sie  explizit  -depth  angeben,  um  spätere  Überraschungen  zu
              vermeiden. Da -delete -depth impliziert, können Sie  sinnvollerweise  nicht  -prune
              und -delete zusammen benutzen.

       -exec Befehl ;
              führt  den  Befehl  aus;  wahr,  wenn  Status  0 zurückgegeben wird. Alle folgenden
              Argumente von find werden als Argumente des Befehls betrachtet,  bis  ein  Argument
              gefunden  wird,  das  »;« beinhaltet. Die Zeichenkette »{}« wird überall, wo sie in
              den Argumenten erscheint, durch den aktuell verarbeiteten Dateinamen ersetzt, nicht
              nur in Argumenten, in denen sie allein steht, wie in einigen Versionen von find. Es
              könnte nötig sein, beide Konstruktionen  zu  maskieren  (mit  einem  »\«)  oder  in
              Anführungszeichen  zu  setzen,  um  sie  vor  einer  Expansion  durch  die Shell zu
              schützen. Im Abschnitt BEISPIELE finden Sie Beispiele, wie  Sie  die  Option  -exec
              benutzen.  Der  angegebene Befehl wird jeweils für jede gefundene Datei ausgeführt.
              Der  Befehl  wird  im   Startverzeichnis   ausgeführt.   Es   gibt   unvermeidliche
              Sicherheitsprobleme rings um den Gebrauch der Aktion -exec; Sie sollten stattdessen
              die Option -execdir verwenden.

       -exec Befehl {} +
              Diese Variante der Aktion -exec führt den angegebenen Befehl für  die  ausgewählten
              Dateien aus, aber die Befehlszeile wird durch das Anhängen jeder ausgewählten Datei
              an das Ende gebildet; die Gesamtzahl der Befehlsaufrufe wird  viel  geringer  sein,
              als  die  Anzahl passender Dateien. Die Befehlszeile wird auf die gleiche Weise wie
              bei xargs gebildet. Innerhalb des Befehls ist nur eine Instanz  von  »{}«  erlaubt.
              Der Befehl wird im Startverzeichnis ausgeführt.

       -execdir Befehl ;

       -execdir Befehl {} +
              wie  -exec, aber der angegebene Befehl wird in dem Unterverzeichnis ausgeführt, das
              die passende Datei enthält, was normalerweise nicht das Verzeichnis ist, in dem Sie
              find  aufgerufen  haben.  Dies ist eine wesentlich sicherere Methode zum Aufruf von
              Befehlen, da sie Race Conditions während der Auflösung von Pfaden zu den  passenden
              Dateien  vermeidet.  Wie  bei  der Aktion -exec wird die Form »+« von -execdir eine
              Befehlszeile bilden, um mehr als eine passende Datei  zu  verarbeiten,  aber  jeder
              angegebene  Aufruf  des  Befehls  wird  nur  Dateien  auflisten,  die  im  gleichen
              Unterverzeichnis  existieren.  Falls  Sie  diese  Option   benutzen,   müssen   Sie
              sicherstellen,  dass  Ihre  Umgebungsvariable  $PATH nicht direkt auf ».« verweist;
              andernfalls könnte ein Angreifer Befehle seiner Wahl ausführen, indem er eine Datei
              mit  geeignetem  Namen  in  einem  Verzeichnis  hinterlässt,  in  dem  Sie -execdir
              ausführen werden. Das Gleiche gilt für die Einträge in $PATH, die leer  oder  keine
              absoluten Verzeichnisnamen sind.

       -fls Datei
              wahr;  wie  -ls,  schreibt aber wie -fprint nach Datei. Die Ausgabedatei wird immer
              erstellt, sogar wenn das Prädikat niemals passte. Lesen Sie den Abschnitt UNÜBLICHE
              DATEINAMEN, zu erfahren, wie unübliche Dateinamen gehandhabt werden.

       -fprint Datei
              wahr;  gibt den vollständigen Dateinamen in Datei aus. Falls Datei nicht existiert,
              wird sie erzeugt; andernfalls wird sie gekürzt. Die  Dateinamen  »/dev/stdout«  und
              »/dev/stderr«   werden   gesondert   gehandhabt;   sie   beziehen   sich   auf  die
              Standardausgabe beziehungsweise die Standardfehlerausgabe.  Die  Ausgabedatei  wird
              immer  erstellt,  sogar  wenn  das Prädikat niemals passte. Lesen Sie den Abschnitt
              UNÜBLICHE DATEINAMEN, um zu erfahren, wie unübliche Dateinamen gehandhabt werden.

       -fprint0 Datei
              wahr; wie -print0, schreibt aber wie -fprint  nach  Datei.  Die  Ausgabedatei  wird
              immer  erstellt,  sogar,  wenn das Prädikat niemals passte. Lesen Sie den Abschnitt
              UNÜBLICHE DATEINAMEN, um zu erfahren, wie unübliche Dateinamen gehandhabt werden.

       -fprintf Datei Format
              wahr; wie -printf, schreibt aber wie -fprint  nach  Datei.  Die  Ausgabedatei  wird
              immer  erstellt,  sogar,  wenn das Prädikat niemals passte. Lesen Sie den Abschnitt
              UNÜBLICHE DATEINAMEN, um zu erfahren, wie unübliche Dateinamen gehandhabt werden.

       -ls    wahr; listet aktuelle Datei im Format ls -dils auf  der  Standardausgabe  auf.  Die
              Anzahl  der  Blöcke  besteht  aus  1K-Blöcken,  außer  wenn  die  Umgebungsvariable
              POSIXLY_CORRECT gesetzt ist, in der Blöcke zu 512 Byte benutzt  werden.  Lesen  Sie
              den  Abschnitt  UNÜBLICHE  DATEINAMEN,  um  zu  erfahren,  wie unübliche Dateinamen
              gehandhabt werden.

       -ok Befehl ;
              wie -exec, vorher wird der Anwender aber um Bestätigung gebeten. Falls der Anwender
              zustimmt,  wird  der  Befehl ausgeführt. Andernfalls wird nur falsch zurückgegeben.
              Wenn  der  Befehl  ausgeführt  wird,  ist  seine  Standardeingabe  umgeleitet   von
              /dev/null.

              Die  Antwort auf die Abfrage wird mit einem Paar regulärer Ausdrücke verglichen, um
              zu bestimmen, ob es eine  positive  oder  negative  Antwort  ist.  Dieser  reguläre
              Ausdruck  stammt  vom  System,  falls die Umgebungsvariable POSIXLY_CORRECT gesetzt
              ist, ansonsten von den Nachrichtenübersetzungen von find. Falls  das  System  keine
              geeignete  Definition  hat,  wird die Definition von find selbst benutzt. Auf jeden
              Fall wird die Interpretation des regulären  Ausdrucks  von  den  Umgebungsvariablen
              »LC_CTYPE«  (Zeichenklassen)  und  »LC_COLLATE«  (Zeichenbereiche und entsprechende
              Klassen) beeinträchtigt.

       -okdir Befehl ;
              wie -exec, fragt den Anwender aber zuerst auf die gleiche Art wie  für  -ok.  Falls
              der  Anwender  nicht  zustimmt,  wird  nur  falsch  zurückgegeben.  Wenn der Befehl
              ausgeführt wird, ist seine Standardeingabe umgeleitet von /dev/null.

       -print wahr; gibt den vollständigen Dateinamen gefolgt von einem  Zeilenvorschub  auf  der
              Standardausgabe  aus.  Falls  Sie  die Ausgabe von find in ein anderes Programm per
              Pipe weiterleiten und dort auch nur die geringste  Möglichkeit  besteht,  dass  die
              Dateien,  die  Sie suchen, einen Zeilenvorschub enthalten, sollten Sie ernsthaft in
              Betracht ziehen, statt  -print  -print0  zu  verwenden.  Lesen  Sie  den  Abschnitt
              UNÜBLICHE DATEINAMEN, um zu erfahren, wie unübliche Dateinamen gehandhabt werden.

       -print0
              wahr;  gibt  den  vollständigen Dateinamen gefolgt von einem Null-Zeichen (anstelle
              des Zeilenvorschubs, den -print benutzt) aus. Dies ermöglicht, dass Dateinamen, die
              Zeilenvorschübe oder andere Typen von Leerräumen enthalten, korrekt durch Programme
              interpretiert werden, die die Ausgabe von find verarbeiten. Diese Option entspricht
              der Option -0 von xargs.

       -printf Format
              wahr;  gibt  Format  auf  der  Standardausgabe aus und interpretiert dabei »\«- und
              »%«-Direktiven.  Feldbreiten  und  Genauigkeiten  können  wie  bei  der  C-Funktion
              »printf«  angegeben  werden. Bitte beachten Sie, dass viele Felder mit %s statt mit
              %d ausgegeben werden. Dies kann bedeuten, dass  der  Schalter  nicht  wie  erwartet
              funktioniert.  Dies  bedeutet  auch,  dass  die  Option  »-« nicht funktioniert (er
              erzwingt, dass Felder linksbündig ausgerichtet  werden).  Anders  als  -print  fügt
              -printf keinen Zeilenvorschub an das Ende der Zeichenkette. Die Direktiven sind:

              \a     Alarmton

              \b     Rückschritt

              \c     Ausgabe  gemäß  dieser  Formatbeschreibung  sofort  stoppen  und die Ausgabe
                     leeren

              \f     Seitenvorschub

              \n     Zeilenvorschub

              \r     Wagenrücklauf

              \t     horizontaler Tabulator

              \v     vertikaler Tabulator

              \0     ASCII-Code 0

              \\     der Rückwärtsschrägstrich selbst (»\«)

              \NNN   das Zeichen, dessen ASCII-Kode NNN ist (oktal)

              Ein »\«-Zeichen gefolgt von einem anderen Zeichen wird als ein gewöhnliches Zeichen
              betrachtet, daher werden beide ausgegeben.

              %%     das Prozentzeichen selbst

              %a     die  Zeit  des  letzten  Zugriffs auf die Datei, zurückgegeben im Format der
                     C-Funktion »ctime«

              %Ak    die Zeit des letzten Zugriffs auf die Datei,  angegeben  durch  k.  Das  ist
                     entweder  »@«  oder  eine  Direktive  für  die  C-Funktion  »strftime«.  Die
                     möglichen Werte  für  k  sind  nachfolgend  aufgeführt;  einige  davon  sind
                     möglicherweise  aufgrund  von  Unterschieden zwischen den Systemen nicht auf
                     allen Systemen in »strftime« verfügbar.

                     @      Sekunden seit dem 1.1.1970, 00:00 Uhr GMT mit Bruchteil

                     Zeitfelder:

                     H      Stunde (00..23)

                     I      Stunde (01..12)

                     k      Stunde ( 0..23)

                     l      Stunde ( 1..12)

                     M      Minute (00..59)

                     p      PM oder AM der Locale

                     r      Zeit, 12 Stunden (hh:mm:ss: AM/PM)

                     S      Sekunden (00.00 bis 61.00). Es gibt Nachkommastellen.

                     T      Zeit, 24 Stunden (hh:mm:ss)

                     +      Datum    und    Zeit,    getrennt    durch    »+«,    zum    Beispiel
                            »2004-04-28+22:22:05.0«. Dies ist eine GNU-Erweiterung. Die Zeit wird
                            in der  aktuellen  Zeitzone  angegeben  (die  durch  das  Setzen  der
                            Umgebungsvariable  TZ  beeinflusst  sein  könnte).  Das  Sekundenfeld
                            beinhaltet einen Bruchteil.

                     X      Zeitdarstellung der Locale (H:M:S)

                     Z      Zeitzone (z.B. EDT) oder nichts, falls keine Zeitzone bestimmt werden
                            kann

                     Datumsfelder:

                     a      abgekürzter Wochentag der Locale (So bis Sa)

                     A      voller Wochentag der Locale, variable Länge (Sonntag bis Samstag)

                     b      abgekürzter Monatsname der Locale (Jan bis Dez)

                     B      voller Monatsname der Locale in variabler Länge (Januar bis Dezember)

                     c      Datum  und  Zeit der Locale (Sa 4. Nov 12:02:33 EST 1989). Das Format
                            entspricht dem von ctime(3) und wahrt daher  die  Kompatibilität  mit
                            diesem Format. Es gibt dort keine Nachkommastellen im Sekundenfeld.

                     d      Tag des Monats (01 bis 31)

                     D      Datum (mm/dd/yy)

                     h      das Gleiche wie b

                     j      Tag des Jahres (001..366)

                     m      Monat (01..12)

                     U      Nummer der Woche im Jahr mit Sonntag als erstem Tag der Woche (00 bis
                            53)

                     w      Tag der Woche (0 bis 6)

                     W      Nummer der Woche im Jahr mit Montag als erstem Tag der Woche (00  bis
                            53)

                     x      Datumsdarstellung der Locale (mm/dd/yy)

                     y      Die letzten zwei Ziffern des Jahres (00..99)

                     Y      Jahr (1970 …)

              %b     der   für   diese   Datei  benutzte  Plattenplatz  in  512-Byte-Blöcken.  Da
                     Plattenplatz als Vielfaches der Blockgröße des Dateisystems reserviert wird,
                     ist  dieser üblicherweise größer als %s/512, er kann aber auch kleiner sein,
                     wenn die Datei eine Datei mit Löchern (Sparse-Datei) ist.

              %c     das Datum, an dem zum letzten Mal der Status der Datei  geändert  wurde,  im
                     Format der C-Funktion »ctime«

              %Ck    das  Datum,  an  dem zum letzten Mal der Status der Datei geändert wurde, in
                     dem durch k angegebenen Format, was das Gleiche ist, wie für %A

              %d     die Tiefe der Datei im Verzeichnisbaum; Null bedeutet, dass  die  Datei  ein
                     Befehlszeilenargument ist.

              %D     die  Gerätenummer  des Geräts auf der die Datei existiert (das Feld »st_dev«
                     der Stuktur »stat«) als Dezimalzahl

              %f     der Name der Datei, bei dem die voranstehenden Verzeichnisse entfernt wurden
                     (nur das letzte Element)

              %F     Typ  des Dateisystems, auf dem die Datei liegt; dieser Wert kann für -fstype
                     benutzt werden.

              %g     der Name der Gruppe der Datei oder die numerische Gruppenkennzahl, wenn  die
                     Gruppe keinen Namen hat

              %G     die numerische Gruppenkennzahl der Datei

              %h     voranstehende   Verzeichnisse  des  Dateinamens  (alles  außer  dem  letzten
                     Element).  Falls  der  Dateiname  keine  Schrägstriche  enthält  (da  er  im
                     aktuellen Verzeichnis ist), wird der Bezeichner %h zu ».« expandiert.

              %H     das Befehlszeilenargument, unter dem die Datei gefunden wurde

              %i     die Inode-Nummer der Datei (dezimal)

              %k     der für diese Datei benutzte Plattenplatz in 1K-Blöcken. Da Plattenplatz als
                     Vielfaches der Blockgröße  des  Dateisystems  reserviert  wird,  ist  dieser
                     üblicherweise  größer  als %s/1024, er kann aber auch kleiner sein, wenn die
                     Datei eine Datei mit Löchern (Sparse-Datei) ist.

              %l     Ziel des symbolischen  Links  (leere  Zeichenkette,  falls  die  Datei  kein
                     symbolischer Link ist

              %m     die   Zugriffsrechte-Bits  der  Datei  (oktal).  Diese  Option  benutzt  die
                     »traditionellen« Nummern, die die meisten  Unix-Implementierungen  benutzen,
                     falls  aber  Ihre  Implementierung  eine  unübliche  Sortierung  der oktalen
                     Zugriffsrechte  benutzt,  werden  Sie   einen   Unterschied   zwischen   dem
                     tatsächlichen   Wert   des   Datei-Modus  und  der  Ausgabe  von  %m  sehen.
                     Normalerweise möchten Sie eine führende Null vor dieser Zahl haben. Um  dies
                     zu  erreichen  sollten  Sie die Markierung # benutzen (wie beispielsweise in
                     »%#m«).

              %M     die Zugriffsrechte der Datei (in  symbolischer  Form,  wie  für  ls).  Diese
                     Direktive wird von Findutils seit einschließlich Version 4.2.5 unterstützt.

              %n     Anzahl harter Links auf die Datei

              %p     Name der Datei

              %P     Der  Name  der Datei mit dem Namen des Befehlszeilenarguments, unter dem sie
                     gefunden wurde, wurde entfernt.

              %s     die Größe der Datei in Byte

              %S     Dichte der Datei. Diese wird berechnet als (BLOCKGRÖßE*st_blocks / st_size).
                     Der  genaue  Wert,  den  Sie  für  eine normale Datei einer bestimmten Länge
                     erhalten  ist   vom   System   abhängig.   Normale   Dateien   mit   Löchern
                     (Sparse-Dateien)  werden  einen  Wert kleiner als 1.0 aufweisen und Dateien,
                     die indirekte Blöcke verwenden können, einen Wert größer als 1.0 haben.  Der
                     Wert,  der  für  BLOCKGRÖßE  verwandt wird, ist vom System abhängig, beträgt
                     aber normalerweise  512  Byte.  Falls  die  Dateigröße  null  ist,  ist  der
                     ausgegebene  Wert undefiniert. Auf Systemen, auf denen die Unterstützung für
                     st_blocks fehlt, wird als Dichte einer Datei 1.0. angenommen.

              %t     Zeit der letzten Änderung der Datei in  dem  von  C-»ctime«  zurückgegebenen
                     Format

              %Tk    Zeit  der  letzten Änderung der Datei in dem durch k angegebenen Format, wie
                     bei %A

              %u     Name des Bemutzers der Datei oder  numerische  Benutzerkennzahl,  falls  der
                     Benutzer keinen Namen hat.

              %U     numerische Benutzerkennzahl der Datei.

              %y     Typ der Datei (wie in ls -l), U=unbekannter Typ (sollte nicht auftreten)

              %Y     Typ  der  Datei (wie %y), folgt aber symbolischen Links: L=Schleife, N=nicht
                     existent

              Ein »%«-Zeichen gefolgt von einem anderen Zeichen wird verworfen, aber  das  andere
              Zeichen  wird ausgegeben (verlassen Sie sich nicht darauf, da weitere Formatzeichen
              eingeleitet werden  könnten).  Ein  »%«  am  Ende  des  Formatarguments  verursacht
              unvorhersehbares  Verhalten, da es dort kein nachfolgendes Zeichen gibt. In einigen
              Locales könnte es Ihre Haustürschlüssel verstecken,  während  es  in  anderen  Ihre
              letzte Seite des Romans, den Sie lesen, entfernt.

              Die  Direktiven  %m  und  %d  unterstützen  die  Schalter  # , 0 und +, die anderen
              Direktiven  jedoch  nicht,  selbst  wenn  Nummern  ausgegeben  werden.   Numerische
              Direktiven,  die diese Schalter nicht unterstützen, beinhalten G, U, b, D, k und n.
              Der Formatschalter »-« wird unterstützt und ändert die Ausrichtung eines Feldes von
              rechtsbündig (was vorgegeben ist) auf linksbündig.

              Lesen  Sie  den  Abschnitt  UNÜBLICHE  DATEINAMEN,  um  zu  erfahren, wie unübliche
              Dateinamen gehandhabt werden.

       -prune wahr; falls die Datei ein Verzeichnis ist, nicht darin hinabsteigen.  Falls  -depth
              angegeben  ist,  falsch;  kein  Effekt.  Da  -delete  -depth  impliziert können Sie
              sinnvollerweise -prune and -delete nicht zusammen benutzen.

       -quit  sofort beenden. Es werden keine laufenden Kindprozesse mehr übrig gelassen, aber es
              werden  keine  weiteren  auf  der  Befehlzeile  angegebenen Pfade mehr verarbeitet.
              Beispielsweise wird find /tmp/foo /tmp/bar -print -quit nur /tmp/foo ausgeben. Alle
              aufzurufenen  Befehlszeilen  die  mit  -execdir    {}  +  gebildet  wurden, werden
              aufgerufen bevor find beendet wird. Der Rückgabewert könnte null  oder  nicht  null
              sein, je nachdem ob bereits ein Fehler aufgetreten ist.

   UNÜBLICHE DATEINAMEN
       Viele  der Aktionen von find resultieren in der Ausgabe von Daten, die unter der Kontrolle
       anderer Benutzer stehen. Dies umfasst Dateinamen, Größen, Änderungszeiten und  so  weiter.
       Dateinamen  stellen  ein  potentielles  Problem dar, da sie jedes Zeichen mit Ausnahme von
       »\0« und »/« enthalten können. Unübliche Zeichen in Dateinamen können unerwartete und  oft
       unerwünschte  Dinge  mit  Ihrem  Terminal  tun  (beispielsweise  die  Einstellungen  Ihrer
       Funktionstasten auf einigen Terminals ändern). Unübliche Zeichen werden von  verschiedenen
       Aktionen unterschiedlich gehandhabt, wie im Folgenden beschrieben.

       -print0, -fprint0
              immer  den  genauen  Dateinamen unverändert ausgeben, sogar wenn die Ausgabe an ein
              Terminal geht.

       -ls, -fls
              Unübliche Zeichen werden maskiert. Leerzeichen, Rückwärtsschrägstrich und  doppelte
              Anführungszeichen  werden  unter Benutzung von Maskierung im C-Stil ausgegeben (zum
              Beispiel »\f«, »\«). Andere unübliche Zeichen  werden  unter  Benutzung  von  einer
              oktalen  Maskierung ausgegeben. Andere druckbare Zeichen (für -ls und -fls sind das
              die Zeichen zwischen oktal 041 und 0176) werden unverändert ausgegeben.

       -printf, -fprintf
              Falls die Ausgabe nicht an  ein  Terminal  geht,  wird  sie  unverändert  gedruckt.
              Andernfalls  hängt  das  Ergebnis  davon  ab,  welche  Direktive  benutzt wird. Die
              Direktiven %D, %F, %g, %G, %H, %Y und %y expandieren die Werte, die nicht unter der
              Kontrolle  des  Dateibesitzers  stehen  und  werden  daher in der vorliegenden Form
              gedruckt. Die Direktiven %a, %b, %c, %d, %i, %k, %m, %M, %n,  %s,  %t,  %u  und  %U
              haben  Werte, die unter der Kontrolle des Dateibesitzers der Datei stehen, die aber
              nicht benutzt werden können, um beliebige Daten an das Terminal zu senden und daher
              unverändert  gedruckt werden. Die Direktiven %f, %h, %l, %p und %P werden maskiert.
              Diese Maskierung wird auf die gleiche Art durchgeführt wie  für  GNU-ls.  Dies  ist
              nicht  der  gleiche  Maskierungsmechanismus  wie  der, der für -ls und -fls benutzt
              wird. Falls Sie die Wahl haben, welches Format für die Ausgabe benutzt werden soll,
              ist  es  normalerweise  besser  »\0« als Endezeichen statt eines Zeilenvorschubs zu
              verwenden, da Dateinamen Leerzeichen  und  Zeilenvorschübe  enthalten  können.  Die
              Einstellung der Umgebungsvariablen »LC_CTYPE« wird benutzt, um zu bestimmen, welche
              Zeichen maskiert werden müssen.

       -print, -fprint
              Maskierung wird auf die gleiche Weise wie  für  -printf  und  -fprintf  gehandhabt.
              Falls  Sie  find  in einem Skript benutzen oder in einer Situation sind, in der die
              gefundenen Dateien beliebige Namen haben können, sollten  Sie  in  Betracht  ziehen
              -print0 anstelle von -print benutzen.

       Die  Aktionen  -ok  und -okdir geben den aktuellen Dateinamen unverändert aus. Dies könnte
       sich in einem späteren Release ändern.

   OPERATOREN
       aufgelistet in der Reihenfolge abnehmender Wertigkeit:

       ( expr )
              Wertigkeit erzwingen. Da Klammern für die Shell etwas spezielles sind,  werden  Sie
              sie  normalerweise  maskieren  müssen.  Viele  Beispiele  in  dieser  Handbuchseite
              verwenden zu diesem Zweck; »\( … \) anstelle von »( … )«.

       ! Ausdruck
              wahr, wenn der Ausdruck falsch ist. Es wird normalerweise auch nötig  sein,  dieses
              Zeichen vor einer Interpretation durch die Shell zu schützen.

       -not Ausdruck
              das Gleiche wie ! Ausdruck, ist aber POSIX-konform

       Ausdruck1 Ausdruck2
              Zwei Ausdrücke in einer Reihe werden mit enem impliziten »and« verbunden; Ausdruck2
              wird nicht ausgewertet, wenn Ausdruck1 falsch ist.

       Ausdruck1 -a Ausdruck2
              entspricht Ausdruck1 Ausdruck2

       Ausdruck1 -and Ausdruck2
              entspricht Ausdruck1 Ausdruck2, ist aber POSIX-konform

       Ausdruck1 -o Ausdruck2
              oder; Ausdruck2 wird nicht ausgewertet, falls Ausdruck1 wahr ist

       Ausdruck1 -or Ausdruck2
              entspricht Ausdruck1 -o Ausdruck2, ist aber nicht POSIX-konform

       Ausdruck1, Ausdruck2
              Liste; sowohl Ausdruck1 als auch Ausdruck2 werden immer ausgewertet. Der  Wert  von
              Ausdruck1  wird  verworfen;  der  Wert  der  Liste  ist der Wert von Ausdruck2. Der
              Kommaoperator kann nützlich sein, um nach unterschiedlichen  Kriterien  zu  suchen,
              die  Dateisystemhierarchie aber nur einmal zu durchlaufen. Die Aktion -fprintf kann
              benutzt werden, um die verschiedenen gefundenen Elemente in mehreren  verschiedenen
              Ausgabedateien aufzulisten.

STANDARDKONFORMITÄT

       Für  größtmögliche  Konformität  zum  POSIX-Standard,  sollten  Sie  die Umgebungsvariable
       POSIXLY_CORRECT setzen. Die folgenden Optionen sind im POSIX-Standard  (IEEE  Std  1003.1,
       2003 Edition) spezifiziert:

       -H     Diese Option wird unterstützt.

       -L     Diese Option wird unterstützt.

       -name  Diese   Option   wird   unterstützt,  aber  die  POSIX-Konformität  hängt  von  der
              POSIX-Konformität  der  Bibliotheksfunktion   fnmatch(3)   des   SYstems   ab.   Ab
              findutils-4.2.2 werden Shell-Metazeichen (zum Beispiel »*«, »?« oder »[]«) zu einem
              führenden ».« passen, da dies die IEEE-PASC-Interpretation 126 erfordert. Dies  ist
              eine Änderung gegenüber vorherigen Versionen der Findutils.

       -type  unterstützt.  POSIX  spezifiziert  »b«,  »c«,  »d«, »l«, »p«, »f« und »s«. GNU-Find
              unterstützt außerdem »D«, das eine Door repräsentiert, wo diese  vom  Betriebsystem
              bereitgestellt wird.

       -ok    unterstützt.   Die   Interpretation   der   Antwort   entspricht   den   »ja«-  und
              »nein«-Mustern, die durch Setzen der  Umgebungsvariablen  »LC_MESSAGES«  ausgewählt
              wurde.  Wenn  die  Umgebungsvariable  »POSIXLY_CORRECT«  gesetzt  ist, werden diese
              Muster als die Systemdefinition einer postiven (ja) oder  negativen  (nein)  Anwort
              betrachtet.   Lesen   Sie   die   Dokumentation  des  Systems  für  nl_langinfo(3),
              insbesondere YESEXPR und NOEXPR. Wenn »POSIXLY_CORRECT« nicht gesetzt  ist,  werden
              die Muster von finds eigenem Nachrichtenkatalog genommen.

       -newer unterstützt.  Falls  die  angegebene Datei ein symbolischer Link ist, wird er immer
              zurückverfolgt. Dies ist eine Änderung  gegenüber  dem  bisherigen  Verhalten,  das
              benutzt  wurde,  um die maßgebliche Zeit vom symbolischen Link zu nehmen; siehe den
              Abschnitt GESCHICHTE unterhalb.

       -perm  unterstützt. Falls  die  Umgebungsvariable  »POSIXLY_CORRECT«  nicht  gesetzt  ist,
              werden  einige  Modusargumente  (zum Beispiel +a+x), die in POSIX nicht gültig sind
              unterstützt, um abwärtskompatibel zu sein.

       Andere Prädikate
              Die Prädikate -atime, -ctime, -depth, -group, -links,  -mtime,  -nogroup,  -nouser,
              -print, -prune, -size, -user und -xdev werden alle unterstützt.

       Der POSIX-Standard spezifiziert Klammern »(«, »)«, Verneinung »!« und die Operatoren »and«
       und »or« (-a, -o).

       Alle anderen Operationen, Prädikate, Ausdrücke und so weiter sind  Erweiterungen  jenseits
       des POSIX-Standards. Viele dieser Erweiterungen sind jedoch nicht auf GNU-Find beschränkt.

       Der POSIX-Standard erfordert, dass find Schleifen entdeckt:

              Das  Hilfswerkzeug  find soll unendliche Schleifen entdecken, also das Eintreten in
              ein bereits vorher besuchtes Verzeichns, das ein Vorgänger der  zuletzt  gefundenen
              Datei  ist.  Wenn es eine Endlosschleife entdeckt, soll Find eine Diagnosenachricht
              auf  die  Standardfehlerausgabe  schreiben  und  entweder  seine  Position  in  der
              Hierarchie wiederherstellen oder sich beenden.

       GNU-find erfüllt diese Anforderungen. Die Link-Anzahl von Verzeichnissen, die Einträge mit
       harten Links auf einen Vorgänger enthalten, werden oft kleiner sein, als  sie  andernfalls
       sein   sollten.   Dies   kann   bedeuten,   dass   GNU-Find   manchmal  den  Besuch  eines
       Unterverzeichnisses wegoptimiert, das tatsächlich ein Link zu einem Vorgänger ist. Da find
       nicht  tatsächlich  in ein solches Unterverzeichnis eintritt, ist es erlaubt, das Ausgeben
       einer Diagnosenachricht zu verhindern. Dieses Verhalten könnte jedoch ein wenig verwirrend
       sein. Es ist unwahrscheinlich, dass sich tatsächlich jemand auf dieses Verhalten verlässt.
       Falls die Leaf-Optimierung mit -noleaf ausgeschaltet wurde,  wird  der  Verzeichniseintrag
       immer   untersucht  und  die  Diagnosenachricht  wird  an  geeigneter  Stelle  ausgegeben.
       Symbolische Links können nicht benutzt werden, um Dateisystemzyklen im  eigentlichen  Sinn
       zu  erzeugen,  aber  falls  die  Optionen  -L  oder  -follow  benutzt  werden,  wird  eine
       Diagnosenachricht ausgegeben, wenn find in symbolischen Links auf  eine  Schleife  trifft.
       Wie  bei  harten  Links,  die Schleifen enthalten, wird die Leaf-Optimierung oft bedeuten,
       dass find weiß, dass es stat() oder chdir() bei einem  symbolischen  Link  nicht  aufrufen
       muss, daher ist diese Diagnose häufig nicht nötig.

       Die  Option  -d  wird unterstützt, um die Kompatibilität mit verschiedenen BSD-Systemen zu
       wahren, Sie sollten aber stattdessen die POSIX-konforme Option -depth benutzen.

       Die Umgebungsvariable POSIXLY_CORRECT beeinflusst nicht das  Verhalten  der  Tests  -regex
       oder -iregex, da diese Tests nicht im POSIX-Standard spezifiziert sind.

UMGEBUNGSVARIABLEN

       LANG   Stellt  einen Vorgabewert für die Internationalisierungsvariablen bereit, die nicht
              gesetzt oder null sind.

       LC_ALL Falls dies auf einen nicht leeren Zeichenkettenwert gesetzt  ist,  überschreibt  es
              die Werte aller anderen Internationalisierungsvariablen.

       LC_COLLATE
              Der  POSIX-Standard  spezifiziert, dass diese Variable die Mustersuche beeinflusst,
              die bei der Option -name benutzt wird. GNU-Find  benutzt  die  Bibiliotheksfunktion
              fnmatch(3)   und   unterstützt   daher   »LC_COLLATE«   in  Abhängigkeitt  von  der
              Systembibliothek.  Diese  Variable  beeinflusst  außerdem  die  Interpretation  der
              Antwort  auf  -ok;  während  die  Variable  »LC_MESSAGES«  das Muster auswählt, das
              tatsächlich benutzt wird, um die Antwort  auf  -ok;  zu  interpretieren,  wird  die
              Interpretation  jeglicher  Ausdrücke  mit  Klammern  im  Muster  durch »LC_COLLATE«
              beeinflusst.

       LC_CTYPE
              Diese Variable beeinflusst die Behandlung  von  Zeichenklassen,  die  in  regulären
              Ausdrücken  ebenso  wie  im  Test -name benutzt wird, falls die Bibliotheksfunktion
              fnmatch(3) des Systems dies unterstützt. Diese Variable  beeinflusst  außerdem  die
              Interpretation  jeglicher  Zeichenklassen,  die  in  regulären  Ausdrücken  benutzt
              werden, um die Antwort auf die durch -ok angegebene Abfrage zu interpretieren.  Die
              Umgebungsvariable  »LC_CTYPE«  wird außerdem beeinflussen, welche Zeichen als nicht
              abdruckbar  betrachtet  werden,  wenn  Dateinamen  ausgegeben  werden;  siehe   den
              Abschnitt UNÜBLICHE DATENAMEN.

       LC_MESSAGES
              bestimmt  die  Locale,  die  für  internationalisierte Nachrichten verwendet werden
              soll. Falls die Umgebungsvariable  »POSIXLY_CORRECT«  gesetzt  ist,  bestimmt  dies
              außerdem  die  Interpretation  der Antwort auf die, durch die Aktion -ok angegebene
              Abfrage.

       NLSPATH
              bestimmt den Speicherort der Internationalisierungs-Nachrichtenkataloge.

       PATH   beeinflusst die Verzeichnisse, die durchsucht werden, um die  ausführbaren  Dateien
              zu finden, die durch -exec, -execdir, -ok und -okdir aufgerufen werden.

       POSIXLY_CORRECT
              bestimmt  die  von  -ls und -fls benutzte Blockgröße, Falls POSIXLY_CORRECT gesetzt
              ist, sind Blöcke Einheiten von 512 Byte. Andernfalls sind  es  Einheiten  von  1024
              Byte.

              Das  Setzen  dieser  Variable  schaltet  außerdem  standardmäßig  Warnmeldungen aus
              (sprich, es implziert -nowarn), da POSIX erfordert, dass unabhängig von der Ausgabe
              von -ok, alle Nachrichten auf der Standardfehlerausgabe Diagnosen sind und in einem
              Rückgabewert ungleich null resultieren müssen.

              Wenn POSIXLY_CORRECT nicht  gesetzt  ist,  wird  -perm  +zzz  nur  wie  -perm  /zzz
              betrachtet,  falls  +zzz kein gültiger symbolischer Modus ist. Wenn POSIXLY_CORRECT
              gesetzt ist, werden solche Konstruktionen als Fehler betrachtet.

              Wenn POSIXLY_CORRECT gesetzt ist, hängt die Interpretation  der  Antwort  auf  die,
              durch  die  Aktion -ok angegebene Abfrage, von den Nachrichtenkatalogen des Systems
              ab, im Gegensatz zur Beachtung der eigenen Nachrichtenübersetzungen von find.

       TZ     beeinflußt die Zeitzone, die für einige zeitbezogene Formatdirektiven  von  -printf
              und -fprintf benutzt wird.

BEISPIELE

       find /tmp -name core -type f -print | xargs /bin/rm -f

       sucht  Dateien  mit  dem  Namen  core in oder unterhalb des Verzeichnisses /tmp und löscht
       diese.  Beachten  Sie,  dass  dies  nicht  korrekt  funktioniert,  falls  die   Dateinamen
       Zeilenvorschübe, einfache oder doppelte Anführungszeichen oder Leerzeichen enthalten.

       find /tmp -name core -type f -print0 | xargs -0 /bin/rm -f

       sucht  Dateien  mit  dem  Namen  core in oder unterhalb des Verzeichnisses /tmp und löscht
       diese. Verarbeitet Dateinamen auf eine Weise, in der  Datei-  oder  Verzeichnisnamen,  die
       Dateinamen  einfache  oder  doppelte  Anführungszeichen,  Leerzeichen oder Zeilenvorschübe
       enthalten, korrekt gehandhabt werden. Der Test -name kommt in der Reihenfolge vor dem Test
       -type, um zu verhindern, dass stat(2) für jede Datei aufgerufen wird.

       find . -type f -exec file '{}' \;

       führt  »file«  für jede Datei in oder unterhalb des aktuellen Verzeichnisses aus. Beachten
       Sie, dass Klammern in einfache Anführungszeichen eingeschlossen werden, um sie  vor  einer
       Interpretation   als   Shell-Skript-Zeichensetzung   zu  schützen.  Der  Strichpunkt  wird
       gleichermaßen durch  die  Benutzung  des  Rückwärtsschrägstrichs  geschützt,  da  einfache
       Anführungszeichen in diesem Fall ebenfalls benutzt werden könnten.

       find / \
       \( -perm -4000 -fprintf /root/suid.txt %#m %u %p\n \) , \
       \( -size +100M -fprintf /root/big.txt %-10s %p\n \)

       das Dateisystem nur einmal durchlaufen, Setuid-Dateien und Verzeichnisse in /root/suid.txt
       und große Dateien in /root/big.txt auflisten.

       find $HOME -mtime 0

       sucht nach Dateien in Ihrem Home-Verzeichnis, die  in  den  letzten  24  Stunden  geändert
       wurden.  Dieser  Befehl funktioniert auf diese Art, weil die Zeit, seit jede Datei zuletzt
       verändert wurde, durch 24 Stunden geteilt und der Rest verworfen wird. Dies bedeutet, dass
       eine  Datei, um -mtime 0 zu entsprechen, eine Veränderung in der Vergangenheit haben muss,
       die weniger als 24 Stunden zurückliegt.

       find /sbin /usr/sbin -executable \! -readable -print

       sucht Dateien, die ausführbar, aber nicht lesbar sind

       find . -perm 664

       sucht nach Dateien, die Lese- und Schreibrechte für ihren Benutzer und ihre Gruppe  haben,
       aber  von  anderen  Benutzern  gelesen, aber nicht geschrieben werden können. Dateien, die
       diesem Kriterium entsprechen, aber andere Rechte-Bits gesetzt haben  (zum  Beispiel,  wenn
       jemand die Datei ausführen kann) werden nicht passen.

       find . -perm -664

       sucht  nach  Dateien, die Lese- und Schreibrechte für ihren Benutzer und ihre Gruppe haben
       und die von anderen Benutzern gelesen werden können, ohne das Vorhandensein  irgendwelcher
       zusätzlicher  Rechte-Bits  (zum  Beispiel des Bits für Ausführbarkeit) zu betrachten. Dies
       wird beispielsweise auf eine Datei mit dem Modus 777 passen.

       find . -perm /222

       sucht nach Dateien, die für jedermann schreibbar sind (ihren Besitzer,  ihre  Gruppe  oder
       irgendjemand anderes).

       find . -perm /220
       find . -perm /u+w,g+w
       find . -perm /u=w,g=w

       Diese  drei  Befehle  tun alle dasselbe, aber der Erste benutzt die oktale Darstellung des
       Dateimodus und die beiden anderen benutzen die symbolische Form. Diese Befehle suchen alle
       nach  Dateien,  die  entweder  durch  ihren Besitzer oder ihre Gruppe schreibbar sind. Die
       Dateien müssen nicht sowohl für Besitzer und Gruppe schreibbar sein, um zu  passen;  eines
       genügt.

       find . -perm -220
       find . -perm -g+w,u+w

       Beide  Befehle  tun  dasselbe;  sie suchen nach Dateien, die sowohl für ihren Besitzer als
       auch für ihre Gruppe schreibbar sind.

       find . -perm -444 -perm /222 ! -perm /111
       find . -perm -a+r -perm /a+w ! -perm /a+x

       Diese beiden Befehle suchen nach Dateien, die für jedermann lesbar sind (-perm  -444  oder
       -perm -a+r), mindestens ein gesetztes Schreib-Bit haben (-perm /222 oder -perm /a+w), aber
       für niemanden ausführbar sind (! -perm /111 beziehungsweise ! -perm /a+x).

       cd /source-dir
       find . -name .snapshot -prune -o \( \! -name *~ -print0 \)|
       cpio -pmd0 /dest-dir

       Dieser Befehl kopiert den Inhalt von /source-dir nach /dest-dir, lässt  aber  Dateien  und
       Verzeichnisse  mit  Namen  .snapshot  aus  (und  alles, was sich darin befindet). Er lässt
       außerdem alle Dateien und Verzeichnisse aus, deren Name auf ~ endet,  nicht  jedoch  ihren
       Inhalt.  Die  Konstruktion -prune -o \( ... -print0 \) ist ziemlich gebräuchlich. Die Idee
       besteht hier darin, dass der Ausdruck vor -prune auf die Dinge passt, die gekürzt  werden.
       Die  Aktion  -prune  selbst  gibt jedoch wahr zurück, daher stellt das folgende -o sicher,
       dass die rechte Seite nur für die Verzeichnisse ausgewertet wird, die nicht gekürzt wurden
       (der  Inhalt  der  gekürzten  Verzeichnisse  wird  nicht  einmal  besucht  und  ist  daher
       irrelevant). Der Ausdruck auf der rechten Seite  von  -o  ist  nur  der  Übersichtlichkeit
       halber  in  Klammern.  Dies  hebt hervor, dass die Aktion -print0 nur den Platz von Dingen
       einnimmt, auf die -prune nicht angewandt wurde. Da die  Standardbedingung  »and«  zwischen
       Tests  fester  verbindet als -o, ist dies sowieso die Vorgabe, aber die Klammern helfen zu
       zeigen, was passiert.

       find repo/ -exec test -d {}/.svn -o -d {}/.git -o -d {}/CVS ; \
       -print -prune

       Beim  folgenden  gegebenen  Verzeichnis  mit   Projekten   und   den   damit   verbundenen
       Versionsverwaltungsverzeichnissen wird eine effiziente Suche nach den Wurzeln der Projekte
       durchgeführt:

       repo/project1/CVS
       repo/gnu/project2/.svn
       repo/gnu/project3/.svn
       repo/gnu/project3/src/.svn
       repo/project4/.git

       In diesem Beispiel verhindert -prune unnötiges Absteigen  in  Verzeichnisse,  die  bereits
       entdeckt  wurden  (zum  Beispiel  wird  project3/src  nicht  durchsucht,  da es bereits in
       project3/.svn gefunden  wurde),  aber  es  stellt  sicher,  dass  Geschwisterverzeichnisse
       (project2 und project3) gefunden werden.

RÜCKGABEWERT

       find  endet  mit Status Null, falls alle Dateien erfolgreich verarbeitet wurden und größer
       als Null, falls ein Fehler aufgetreten ist. Dies ist  absichtlich  eine  sehr  weitgehende
       Beschreibung,  aber  falls  der Rückgabewert ungleich Null ist, sollten Sie sich nicht auf
       die Richtigkeit des Ergebnisses von find verlassen.

SIEHE AUCH

       chmod(1),  locate(1),  ls(1),  updatedb(1),   xargs(1),   lstat(2),   stat(2),   ctime(3),
       fnmatch(3),  printf(3),  locatedb(5), strftime(3), regex(7), Finding Files (online in Info
       oder ausgegeben).

GESCHICHTE

       Ab findutils-4.2.2 stimmen Shell-Metazeichen (»*«, »?« oder »[]«  zum  Beispiel),  die  in
       Mustern  für  Dateinamen  verwendet  werden,  mit  einem  führenden  ».«  überein,  da die
       Interpretation 126 von IEEE POSIX dies erfordert.

       Die Syntax -perm +MODE wurde in findutils-4.2.21 zugunsten von -perm  /MODUS  missbilligt.
       Ab findutils-4.3.3 passt -perm /000 nun auf alle Dateien statt auf keine.

       Zeitstempel in Nanosekundenauflösung wurden in findutils-4.3.3 implementiert.

       Ab  findutils-4.3.11  setzt  die  Aktion  -delete den Rückgabewert von find auf einen Wert
       ungleich null, wenn sie fehlschlägt. find wird jedoch nicht sofort beendet.  Vorher  wurde
       der Rückgabewert von find nicht durch ein Scheitern von -delete beeinflusst.

       Funktion               Hinzugefügt in   Erscheint auch in
       -newerXY               4.3.3            BSD
       -D                     4.3.1
       -O                     4.3.1
       -readable              4.3.0
       -writable              4.3.0
       -executable            4.3.0
       -regextype             4.2.24
       -exec … +              4.2.12           POSIX

       -execdir               4.2.12           BSD
       -okdir                 4.2.12
       -samefile              4.2.11
       -H                     4.2.5            POSIX
       -L                     4.2.5            POSIX
       -P                     4.2.5            BSD
       -delete                4.2.3
       -quit                  4.2.3
       -d                     4.2.3            BSD
       -wholename             4.2.0
       -iwholename            4.2.0
       -ignore_readdir_race   4.2.0
       -fls                   4.0
       -ilname                3.8
       -iname                 3.8
       -ipath                 3.8
       -iregex                3.8

KEINE FEHLER

       $ find . -name *.c -print
       find: Pfad muss vor dem Ausdruck stehen
       Aufruf: find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [Pfad …] [Ausdruck]

       Dies  geschieht,  da  *.c  durch  die  Shell  expandiert  wurde, was dazu führt, dass find
       tatsächlich eine Befehlszeile wie diese bekommt:

       find . -name bigram.c code.c frcode.c locate.c -print

       Der Befehl wird sicherlich nicht funktionieren. Statt dies auf diese Weise zu tun, sollten
       Sie die Muster in Anführungszeichen setzen oder den Platzhalter maskieren.
       $ find . -name \*.c -print

FEHLER

       Es  gibt  dort  Sicherheitslücken,  die dem Verhalten anhaften, das der POSIX-Standard für
       find spezifiziert und die daher nicht behoben werden können.  Die  Aktion  -exec  ist  zum
       Beispiel  von Natur aus unsicher und es sollte stattdessen -execdir verwandt werden. Bitte
       lesen Sie den Abschnitt Finding Files, um weitere Informationen zu erhalten.

       Die Umgebungsvariable LC_COLLATE hat keinen Einfluss auf die Aktion -ok.

       Der  beste  Weg,  einen  Fehler  zu  melden,  ist  die   Benutzung   des   Formulars   auf
       http://savannah.gnu.org/bugs/?group=findutils.  Der  Grund dafür liegt darin, dass Sie den
       Prozess, wie das Problem behoben wird, verfolgen können. Andere  Kommentare  über  find(1)
       und  über  das  Paket  Findutils  im  Allgemeinen können an die Mailingliste bug-findutils
       gesandt werden. Um diese Liste zu abonnieren, senden  Sie  eine  E-Mail  auf  Englisch  an
       bug-findutils-request@gnu.org.

ÜBERSETZUNG

       Die  deutsche  Übersetzung dieser Handbuchseite wurde von Chris Leick <c.leick@vollbio.de>
       erstellt.

       Diese Übersetzung ist Freie Dokumentation;  lesen  Sie  die  GNU  General  Public  License
       Version   3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE  HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.

                                                                                          FIND(1)