Provided by: manpages-de_1.11-1_all bug

BEZEICHNUNG

       find - in einer Verzeichnishierarchie nach Dateien suchen

ÜBERSICHT

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

BESCHREIBUNG

       Diese   Handbuchseite  beschreibt  die  GNU-Version  von  find.  GNU-find  durchsucht  die
       Verzeichnisbäume, die ihren 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. Wird kein Startpunkt angegeben, wird ».« angenommen.

       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  angewendet, auf die ein symbolischer Link zeigt, anstatt auf den Link selbst
              (es sei denn, der symbolische Link ist  kaputt).  Aktionen  die  symbolische  Links
              zerstören, während find ausgeführt wird (zum Beispiel -delete), können verwirrendes
              Verhalten verursachen. 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 existierende 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.  Wenn Sie beim Start von find das Prädikat FOO für -fstype verwenden
                     und  einen  unbekannten   Dateisystemtyp   FOO   angeben   (in   »/etc/mtab«
                     aufgeführt), entspricht dies dem Prädikat -false.

              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.

AUSDRUCK

       Der Teil der Befehlszeile nach der Liste der Startpunkte ist der Ausdruck. Dies  ist  eine
       Abfragespezifikation,  die die Suche nach übereinstimmenden Dateien und den Umgang mit den
       gefundenen Dateien beschreibt. Ein Ausdruck ist eine Abfolge von:

       Tests  Tests geben »wahr« oder »falsch« zurück, normalerweise auf Basis einer  Eigenschaft
              einer  zu  berücksichtigenden  Datei.  Der  Test  -empty beispielsweise gibt »wahr«
              zurück, wenn die Datei leer ist.

       Aktionen
              Aktionen haben Folgeeffekte (zum Beispiel Meldungen  in  der  Standardausgabe)  und
              geben  entweder  »wahr«  oder  »falsch«  zurück,  abhängig  davon,  ob  die  Aktion
              erfolgreich war oder nicht. Die Aktion -print beispielsweise  gibt  den  Namen  der
              aktuellen Datei in der Standardausgabe aus.

       Globale Optionen
              Globale  Optionen beeinflussen die Wirkung der Tests und Aktionen, die als Teil der
              Befehlszeile angegeben werden. Globale Optionen  geben  stets  »wahr«  zurück.  Die
              Option -depth beispielsweise durchsucht das Dateisystem in der angegebenen Tiefe.

       Positionsoptionen
              Positionsoptionen  beeinflussen  nur Tests, die darauf folgen. Positionale Optionen
              geben stets »wahr« zurück. Die Option -regextype beispielsweise ist positional. Sie
              gibt  den  »Dialekt«  der  regulären  Ausdrücke  an, die danach in der Befehlszeile
              angegeben werden.

       Operatoren
              Operatoren verbinden die anderen Elemente innerhalb des  Ausdrucks.  Beispielsweise
              stellen  -o  ein  logisches  ODER und -a ein logisches UND dar. Fehlt ein Operator,
              wird -a angenommen.

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

       Die Aktion -delete wirkt auch wie eine Option (das sie -depth impliziert).

   POSITIONSOPTIONEN
       Positionsoptionen geben stets »wahr« zurück. Sie beeinflussen nur Tests, die danach in der
       Befehlszeile aufgeführt werden.

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

       -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  angewendet,
              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.

       -regextype Typ
              Ändert die Syntax regulärer Ausdrücke, die von -regex- und -iregex-Tests verstanden
              werden, die später auf der Befehlszeile  auftreten.  Die  bekannten  Ausdruckstypen
              können  Sie  mit  -regextype  help anzeigen lassen. Das Texinfo-Handbuch (Abschnitt
              SIEHE AUCH) erklärt die Bedeutung verschiedener Typen regulärer Ausdrücke und deren
              Unterschiede.

       -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.  Wenn  eine  Warnmeldung
              relativ  zur  Befehlsausführung  erzeugt  wird,  dann wird der Exit-Status von find
              davon nicht beeinflusst. Ist  die  Umgebungsvariable  POSIXLY_CORRECT  gesetzt  und
              -warn  wird  ebenfalls  verwendet,  dann  kann  nicht exakt bestimmt werden, welche
              Warnungen aktiv sind, falls Warnmeldungen auftreten.

   GLOBALE OPTIONEN
       Global options always return true. Global options take effect even for tests  which  occur
       earlier  on the command line. To prevent confusion, global options should specified on the
       command-line after the list of start points, just before the first test, positional option
       or  action.  If you specify a global option in some other place, find will issue a warning
       message explaining that this can be confusing.

       Die globalen Optionen erscheinen nach der Liste der Startpunkte. Daher sind sie nicht  von
       der gleichen Art wie beispielsweise die Option -L.

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

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

       -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 Startpunkte hinab. -maxdepth 0 bedeutet, dass die Tests und Aktionen
              nur auf die Startpunkte angewendet 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
              Startpunkte selbst 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.

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

       -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.  Das Muster *bar wird auch Dateien wie
              ».foobar« finden.

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

       -ipath Muster
              wie -path, aber der Treffer berücksichtigt keine Groß-/Kleinschreibung

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

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

       -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.
              Da   die   führenden   Verzeichnisse   entfernt   sind,   enthalten   die  für  die
              Übereinstimmungsfindung  mit  -name  berücksichtigten  Dateinamen   niemals   einen
              Schrägstrich,  daher wird »-name a/b« niemals einen Treffer ergeben. Wahrscheinlich
              werden Sie stattdessen -path benutzen müssen. Eine Warnung  wird  ausgegeben,  wenn
              Sie  dies  zu tun versuchen, es sei denn, die Umgebungsvariable POSIXLY_CORRECT ist
              gesetzt. 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
              Dies ist erfolgreich, wenn der Zeitstempel X der Datei als neuer als der der  Datei
              Y  der  Datei Bezug erkannt wird. Die Zeichen X und Y sind aus folgenden Buchstaben
              frei wählbar:

              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  angewendet
              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
              Find vergleicht das Argument -path mit der Verkettung eines  Verzeichnisnamens  mit
              dem  Basisnamen  der  Datei,  die  es  untersucht.  Da die Verkettung nie mit einem
              Schrägstrich endet, werden -path-Argumente mit einem solchen Schrägstrich  am  Ende
              nie  als Treffer gewertet (außer wenn vielleicht ein Startpunkt in der Befehlszeile
              angegeben wird). -path wird auch von find in HP-UX unterstützt und  wird  in  einer
              zukünftigen Version Teil des POSIX-Standards werden.

       -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
              Dies wird nicht mehr unterstützt und wurde  bereits  2005  als  veraltet  markiert.
              Verwenden Sie stattdessen -perm /Modus.

       -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  (aufgerundet).  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)

              The size does not count indirect blocks, but it does count blocks in  sparse  files
              that  are  not  actually  allocated.  Bear  in  mind  that the `%k' and `%b' format
              specifiers of -printf handle  sparse  files  differently.  The  `b'  suffix  always
              denotes  512-byte  blocks  and  never  1 Kilobyte blocks, which is different to the
              behaviour of -ls.

              The + and - prefixes signify greater than and less than, as  usual.  Bear  in  mind
              that the size is rounded up to the next unit. Therefore -size -1M is not equivalent
              to -size -1048576c. The former only matches empty files, the latter  matches  files
              from 1 to 1,048,575 bytes.

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

       -context Muster
              (Nur SELinux) Sicherheitskontexte der Datei, die dem Muster entspricht.

   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. Wenn find einen Fehler entdeckt,
              kann dies gelegentlich zu einem unmittelbaren Abbruch führen, so  dass  ausstehende
              Befehle überhaupt nicht mehr ausgeführt werden. Diese Variante von -exec gibt immer
              »wahr« zurück.

       -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.  Wenn  find  einen  Fehler  entdeckt,  kann  dies
              gelegentlich   zum  unmittelbaren  Abbruch  führen,  so  dass  ausstehende  Befehle
              überhaupt nicht mehr ausgeführt werden. Das Ergebnis der  Aktion  hängt  davon  ab,
              welche  der  Varianten  +  oder the ; benutzt wird. -execdir Befehl {} + gibt immer
              »wahr« zurück, während -execdir Befehl {} ; nur dann »wahr« ergibt, wenn der Befehl
              0 zurückgibt.

       -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      time, 24-hour (hh:mm:ss.xxxxxxxxxx)

                     +      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      locale's time representation (H:M:S). The seconds  field  includes  a
                            fractional part.

                     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     der Startpunkt, 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 Startpunkts,  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 verwendet 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  Benutzers  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

              %Z     (nur SELinux) Sicherheitskontext der Datei.

              %{ %[ %(
                     Für zukünftige Verwendung reserviert.

              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.

   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.

       Please  note that -a when specified implicitly (for example by two tests appearing without
       an explicit operator between them) or explicitly has higher precedence than -o. This means
       that find . -name afile -o -name bfile -print will never print afile.

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.

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  sowie  `-atime',  `-ctime',  `-depth',
              `-group',  `-links',  `-mtime', `-nogroup', `-nouser', `-perm', `-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 \; -or \
       -exec test -d {}/.git \; -or -exec test -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.

       Wenn  ein  Fehler  auftritt,  stoppt  find  unmittelbar,  ohne  alle  angegebenen Aktionen
       abzuschließen. Zum Beispiel werden einige der Startpunkte  nicht  untersucht  oder  einige
       ausstehenden  Programmaufrufe  für  -exec  ...  {}  +  oder -execdir ... {} + werden nicht
       ausgeführt.

SIEHE AUCH

       locate(1), locatedb(5), updatedb(1), xargs(1), chmod(1),  fnmatch(3),  regex(7),  stat(2),
       lstat(2), ls(1), printf(3), strftime(3), ctime(3)

       Die  vollständige  Dokumentation  für  find  wird  als Texinfo-Handbuch gepflegt. Wenn die
       Befehle info und find korrekt auf Ihrem Syste installiert sind, erhalten Sie mit info find
       Zugriff auf das vollständige Handbuch.

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.

       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

       Die  Syntax -perm +MODE wurde in findutils-4.5.12 zugunsten von -perm /MODUS entfernt. Die
       Syntax +MODE wurde als veraltet  markiert,  da  findutils-4.2.21  bereits  im  Jahre  2005
       veröffentlicht wurde.

KEINE FEHLER

   Operator precedence surprises
       The  command  find . -name afile -o -name bfile -print will never print afile because this
       is actually equivalent to find . -name afile -o \( -name bfile -a -print \). Remember that
       the  precedence  of  -a  is higher than that of -o and when there is no operator specified
       between tests, -a is assumed.

   “paths must precede expression” error message
       $ find . -name *.c -print
       find: paths must precede expression
       Usage: find [-H] [-L] [-P] [-Olevel] [-D ... [path...] [expression]

       Dies geschieht, da *.c durch die  Shell  expandiert  wurde,  was  dazu  führt,  dass  find
       tatsächlich eine Befehlszeile wie diese bekommt:
       find . -name frcode.c locate.c word_io.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
       $ 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 verwendet 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>
       und Mario Blättermann <mario.blaettermann@gmail.com> 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)