Provided by: manpages-de_4.21.0-2_all bug

BEZEICHNUNG

       find - in einer Verzeichnishierarchie nach Dateien suchen

ÜBERSICHT

       find [-H] [-L] [-P] [-D Fehlersuchoptionen] [-OStufe] [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 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  könnte  ein  doppeltes
       Minuszeichen  --  theoretisch benutzt werden, um zu signalisieren, dass die verbleibenden Argumente keine
       Optionen sind, aber das funktioniert nicht  wirklich,  da  find  das  Ende  der  folgenden  Pfadargumente
       ermittelt: Es liest bis zu einem Ausdrucksargument (das auch mit »-« beginnt). Falls nun ein Pfadargument
       mit einem »-« beginnen würde, dann würde find dieses  stattdessen  als  Ausdrucksargument  auffassen.  Um
       sicher zu stellen, dass alle Startpunkte als solche aufgefasst werden, und insbesondere um zu verhindern,
       dass durch die aufrufende Shell expandierte Platzhaltermuster  fälschlicherweise  als  Ausdrucksargumente
       interpretiert  werden,  ist  es  daher  im Allgemeinen sicherer, Platzhaltern oder fragwürdigen Pfadnamen
       entweder »./« voranzustellen oder absolute Pfadnamen zu verwenden, die mit »/« beginnen.  Alternativ  ist
       es  generell  sicher,  die  (allerdings  unportable)  GNU-Option  -files0-from  hinzuzufügen, mit der Sie
       beliebige Startpunkte an find übergeben können.

       -P     keinen symbolischen Links folgen. Dies ist das Standardverhalten.  Wenn  find  Dateien  untersucht
              oder  Informationen  über  diese  ausgibt und die Datei ein symbolischer Link ist, dann müssen die
              Informationen des symbolischen Links selbst verwendet werden.

       -L     symbolischen Links folgen. Wenn find eine Datei untersucht oder Informationen über diese  ausgibt,
              dann  müssen  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,  müssen  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:

              exec   zeigt Diagnostikinformationen mit Bezug zu -exec, -execdir, -ok und -okdir an.

              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.

              search durchläuft den Verzeichnisbaum ausführlich.

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

              tree   zeigt den Ausdrucksbaum in seiner originalen und optimierten Form.

              all    aktiviert alle anderen Debug-Optionen (außer help).

              help   erklärt die Debugging-Optionen.

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

       Die Aktion -print wird auf allen Dateien, für die der gesamte Ausdruck zutrifft, durchgeführt, außer  sie
       enthält  eine  von -prune oder -quit abweichende Aktion. Aktionen, die die Vorgabe -print blockieren sind
       -delete, -exec, -execdir, -ok, -okdir, -fls, -fprint, -fprintf, -ls, -print und -printf.

       Die Aktion -delete wirkt auch wie eine Option (da 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
       Globale  Optionen  geben  stets  »wahr«  zurück.  Sie  wirken  sich  auch auf Tests aus, die davor in der
       Befehlszeile stehen. Um Verwirrung vorzubeugen, sollten globale Optionen in  der  Befehlszeile  nach  der
       Liste  der  Startpunkte angegeben werden, vor dem ersten Test, der ersten Positionsoption oder der ersten
       Aktion. Wenn Sie eine globale Option an einer anderen Stelle angeben, gibt find eine  Warnung  aus,  dass
       dies verwirrend sein könnte.

       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.

       -files0-from Datei
              liest  die  Startpunkte  aus  der  angegebenen Datei statt aus der Befehlszeile. Mit dieser Option
              können Sie eine beliebige Anzahl von Startpunkten sicher an find übergeben; sie umgehen damit  die
              bekannten  Einschränkungen  beim  Übergeben  von  Startpunkten  in  der  Befehlszeile, nämlich die
              Beschränkung der Anzahl der Dateinamen  und  die  Möglichkeit  der  Verwechslung  von  Datei-  und
              Optionsnamen.

              Mit dieser Option ist es nicht möglich, außerdem noch Dateinamen in der Befehlszeile zu übergeben.
              Beides gleichzeitig ist daher nicht erlaubt.

              Das Datei-Argument ist zwingend erforderlich. Sie können -files0-from - zum Lesen  der  Liste  der
              Startpunkte  aus  dem  Datenstrom  der Standardeingabe und beispielsweise einer Pipe verwenden. In
              diesem Fall sind die Aktionen -ok und -okdir  nicht  zulässig,  da  sie  mit  dem  Lesen  aus  der
              Standardeingabe kollidieren würden, wo eine Bestätigung seitens des Benutzers nicht möglich wäre.

              Die Startpunkte in der angegebenen Datei müssen durch ASCII-Nullbyte-Zeichen getrennt werden. Zwei
              aufeinanderfolgende Nullbyte-Zeichen, beispielsweise ein Startpunkt mit einem Dateinamen der Länge
              Null,  sind  nicht  erlaubt.  Dies  würde  später zu einem Fehler mit einem von Null verschiedenen
              Exit-Code führen.

              Falls die angegebene Datei leer ist, verarbeitet find keinerlei Startpunkte und beendet sich daher
              unmittelbar  nach dem Auswerten der Programmargumente. Dies steht im Gegensatz zum Standardaufruf,
              bei dem find ohne übergebenes Pfad-Argument annimmt, dass das aktuelle Verzeichnis der  Startpunkt
              ist.

              Die  Verarbeitung  der  Startpunkte geschieht ansonsten wie üblich, das heißt beispielsweise, dass
              find in Unterverzeichnisse  absteigt,  sofern  es  nicht  anderweitig  daran  gehindert  wird.  Um
              lediglich die Startpunkte verarbeiten zu lassen, können Sie zusätzlich -maxdepth 0 übergeben.

              Weitere  Hinweise:  Falls  eine  Datei  in  der  Eingabedatei  mehrmals  aufgeführt ist, ist nicht
              definiert, ob diese tatsächlich mehrmals ausgewertet wird. Auch wenn sich eine Datei  während  der
              Ausführung  von  find ändert, ist das Ergebnis nicht definiert. Letztendlich betrifft das auch die
              Suchposition innerhalb der angegebenen Datei, sei es mit  -quit  oder  auf  andere  Weise.  »Nicht
              definiert«  bedeutet  hierbei,  dass es funktionieren kann, aber nicht muss und möglicherweise ein
              bestimmtes Ergebnis liefert, was aber wiederum auf verschiedenen  Plattformen  nicht  zwangsläufig
              gleich sein muss und auch zwischen verschiedenen Versionen der findutils variieren kann.

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

              Desweiteren  wird  find  mit der Option -ignore_readdir_race Fehler der Aktion -delete ignorieren,
              falls die Datei verschwunden  ist,  seit  das  Elternverzeichnis  gelesen  wurde:  es  wird  keine
              Fehlerdiagnosen ausgeben und der Rückkehr-Code der Aktion -delete wird wahr sein.

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

       Ein  numerisches  Argument  n kann an die Tests übergeben werden (wie -amin, -mtime, -gid, -inum, -links,
       -size, -uid und -used), als

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

       -n     für kleiner als n,

       n      für genau n

       Unterstützte Tests:

       -amin n,
              Auf die Datei wurde zuletzt vor weniger als, mehr als oder genau n Minuten zugegriffen.

       -anewer Bezug
              Die Zeit des letzten Zugriffs auf die aktuelle Datei ist neuerer als die der  letzten  Veränderung
              der  Bezugsdatei. Falls Bezug ein symbolischer Link ist und die Optionen -H oder -L in Kraft sind,
              wird immer die Zeit der letzten Datenveränderung der Datei benutzt, auf die er zeigt.

       -atime n
              Auf die Datei ist vor weniger als, mehr als oder genau 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 weniger als, mehr als oder genau n Minuten geändert.

       -cnewer Bezug
              Die  Zeit  der  letzten  Statusänderung  der  aktuellen  Datei  ist  neuerer  als  die der letzten
              Datenveränderung der Bezugsdatei. Falls Bezug ein symbolischer Link ist und die Optionen  -H  oder
              -L  in  Kraft sind, wird immer die Zeit der letzten Datenveränderung der Datei benutzt, auf den er
              zeigt.

       -ctime n
              Der Dateistatus wurde zuletzt vor weniger als, mehr als oder genau 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)  des
              aktuellen  Benutzers.  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 UID
              (oder Root-Squashing) nutzen, da viele Systeme access(2) im Kernel des Clients implementieren  und
              daher  von  den  Abbildungsinformationen der UID 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 Gruppenkennung der Datei ist kleiner als, größer als oder genau n.

       -group gname
              Datei gehört der Gruppe Gruppenname (numerische Gruppenkennungen 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
              Die  Inode-Nummer  der  Datei  ist  kleiner  als,  größer  als  oder genau 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 weniger als, mehr als oder genau n harte 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 weniger als, mehr als oder genau n Minuten verändert.

       -mtime n
              Daten der Datei wurden zuletzt vor weniger als, mehr als oder genau 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 statt jede Datei in dem Baum
              zu überprüfen; ein Beispiel finden Sie in der Beschreibung dieser Aktion.  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 Bezug
              Die Zeit der letzten Datenveränderung  der  aktuellen  Datei  ist  neuerer  als  die  der  letzten
              Datenveränderung  der  Bezugsdatei. Falls Bezug ein symbolischer Link ist und die Optionen -H oder
              -L in Kraft sind, wird immer die Zeit der letzten Datenveränderung 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 Gruppenkennung der Datei entspricht keiner Gruppe.

       -nouser
              Die numerische Benutzerkennung 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"
              Gibt einen Eintrag für ein Verzeichnis namens ./src/misc (falls es existiert) aus. Um ein gesamtes
              Verzeichnis zu ignorieren, benutzen Sie -prune, statt  jede  Datei  in  dem  Baum  zu  überprüfen.
              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 ist Teil des Standards POSIX 2008.

       -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  auf   durch   den   aktuellen   Benutzer   lesbare   Dateien   zu.   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 UID (oder Root-Squashing) nutzen, da viele Systeme access(2) im Kernel
              des Clients implementieren und daher von  den  Abbildungsinformationen  der  UID  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  (außer  dass  ».«  auf
              Zeilenumbruch passt), 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 weniger als, mehr als oder genau 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 Kibibyte (KiB, Einheiten aus 1024 Byte)

              »M«    für Mebibyte (MiB, Einheiten aus 1024 * 1024 = 1048576 Byte)

              »G«    für Gibibyte (GiB, Einheiten aus 1024 * 1024 * 1024 = 1073741824 Byte)

              Die  Größe  ist  einfach  das Mitglied »st_size« der Struktur stat, das von dem Systemaufruf lstat
              (oder stat) befüllt wird. Es wird wie oben beschrieben gerundet. Mit anderen Worten,  es  ist  mit
              dem  Ergebnis  des  Aufrufs von ls -l konsistent. Vergessen Sie nicht, dass die Formatkennzeichner
              »%k« und »%b« von -printf Dateien mit Löchern unterschiedlich handhaben. Die Endung »b« bezeichnet
              stets 512-Byte-Blöcke und niemals 1024-Byte-Blöcke; dies unterscheidet sich vom Verhalten von -ls.

              Die  Präfixe  +  und - bezeichnen größer und kleiner als, wie üblich, d.h. eine exakte Größe von n
              Einheiten wird nicht passen. Denken Sie daran, dass die Größe auf die nächste Einheit  aufgerundet
              wird.  Daher  ist  -size  -1M  nicht  äquivalent  zu -size -1048576c. Ersteres passt nur auf leere
              Dateien, während Letzteres auf Dateien von 0 bis 1.048.575 byte passt.

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

              Um nach mehr als  einem  Typ  auf  einmal  zu  suchen,  können  Sie  eine  kombinierte  Liste  der
              Typbuchstaben, getrennt durch ein Komma »,«, angeben (GNU-Erweiterung).

       -uid n Die numerische Benutzerkennung der Datei ist kleiner als, größer als oder genau n.

       -used n
              Auf  die  Datei ist vor weniger als, mehr als oder genau n Tagen nach ihrer letzten Statusänderung
              zugegriffen worden.

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

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

       -writable
              passt   auf   durch   den   aktuellen   Benutzer   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 UID (oder Root-Squashing) nutzen, da viele Systeme access(2) im Kernel
              des Clients implementieren und daher von  den  Abbildungsinformationen  der  UID  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 oder  Verzeichnisse  löschen;  wahr,  falls  erfolgreich  entfernt.  Falls  das  Entfernen
              fehlschlägt,  wird  eine Fehlermeldung ausgegeben und der Rückgabewert von find wird ungleich null
              sein (wenn es letztendlich beendet wird).

              Warnung: Vergessen Sie nicht, dass find die Befehlszeile als  Ausdruck  auswertet,  so  dass  find
              durch  ein  zuerst  gesetztes  -delete  veranlasst wird, alles unterhalb der von Ihnen angegebenen
              Startpunkte zu löschen.

              Wenn Sie die Aktion -delete in der Befehlszeile verwenden,  wird  automatisch  die  Option  -depth
              eingeschaltet. Da -depth seinerseits die Option -prune wirkungslos macht, können -depth und -prune
              nicht sinnvoll kombiniert werden.

              Oft möchte  ein  Benutzer  mit  -print  eine  find-Befehlszeile  testen,  bevor  -delete  für  die
              tatsächliche  Entfernung  hinzugefügt  wird.  Um  überraschende  Ergebnisse  zu  vermeiden, ist es
              üblicherweise das Beste, -depth explizit während dieser früheren Testläufe hinzuzufügen.

              Die Aktion -delete schlägt beim Entfernen eines Verzeichnisses fehl, außer  wenn  das  Verzeichnis
              leer ist.

              Zusammen mit der Option -ignore_readdir_race wird find Fehler der Aktion -delete ignorieren, falls
              die  Datei  verschwunden  ist,  seit  das  Elternverzeichnis  gelesen   wurde:   es   wird   keine
              Fehlerdiagnosen  ausgeben,  der  Exit-Code nicht auf einen von Null verschiedenen Wert gesetzt und
              der Rückkehr-Code der Aktion -delete wird wahr sein.

       -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 und sie muss am Ende direkt vor dem »+« erscheinen; sie muss (mit einem
              »\«) maskiert oder in Anführungszeichen gesetzt werden, um die Interpretation durch die  Shell  zu
              verhindern.  Der  Befehl  wird  im  Startverzeichnis  ausgeführt.  Falls  irgendein Aufruf mit der
              »+«-Form einen von Null verschiedenen Wert als Exit-Status zurückliefert, dann liefert find  einen
              von Null verschiedenen Exit-Status zurück. Wenn find einen Fehler entdeckt, kann dies gelegentlich
              zu einem unmittelbaren Abbruch führen, so dass ausstehende Befehle überhaupt nicht mehr ausgeführt
              werden.  Aus  diesem  Grund  führt  -exec mein-Befehl  {} + -quit  nicht  dazu,  dass mein-Befehl
              tatsächlich ausgeführt wird. 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. So
              wie bei -exec sollten die geschweiften Klammern {} auch hier in Anführungszeichen gesetzt  werden,
              wenn  find  aus einer Shell heraus aufgerufen wird. 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. Falls
              irgendein Aufruf in der »+«-Form einen von Null verschiedenen Wert als Exit-Status  zurückliefert,
              dann  liefert  find  einen  von  Null  verschiedenen  Exit-Status  zurück.  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 1 kB-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. Diese  Aktion  darf  nicht  zusammen  mit  der
              Option -files0-from angegeben werden.

              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 Meldungsü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.  Diese  Aktion  darf  nicht  zusammen  mit der Option
              -files0-from angegeben werden.

       -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 »%«-Anweisungen.
              Feldbreiten und Genauigkeiten können wie bei der  C-Funktion  printf(3)  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 Anweisungen sind:

              \a     Alarmton

              \b     Rückschritt

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

              \f     Seitenvorschub

              \n     Zeilenumbruch

              \r     Wagenrücklauf

              \t     horizontaler Tabulator

              \v     vertikaler Tabulator

              \0     ASCII-Nullbyte

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

              \NNN   das Zeichen, dessen ASCII-Code 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(3).

              %Ak    die Zeit des letzten Zugriffs auf die Datei, angegeben durch k. Das ist entweder  »@«  oder
                     eine  Anweisung  für  die  C-Funktion  strftime(3).  Einige  der möglichen Werte für k sind
                     nachfolgend aufgeführt;  eine  vollständige  Liste  finden  Sie  in  der  Dokumentation  zu
                     strftime(3). Einige davon sind möglicherweise aufgrund von systembedingten Unterschieden in
                     der Bibliotheksfunktion strftime(3) nicht auf allen Systemen 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.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      Zeitdarstellung der Locale (H:M:S). Das Sekundenfeld enthält einen Bruchanteil.

                     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)

                     F      Datum (yyyy-mm-dd)

                     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.

              %Bk    Der Erstellungszeitpunkt der Datei in dem von k angegebenen Format, welches das Gleiche wie
                     für  %A  ist.  Diese  Anweisung liefert eine leere Zeichenkette, falls das darunterliegende
                     Betriebssystem oder Dateisystem keine Erstellungszeitpunkte unterstützt.

              %c     das Datum, an dem zum letzten Mal der Status  der  Datei  geändert  wurde,  im  Format  der
                     C-Funktion ctime(3).

              %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     Gibt den Basisnamen aus. Dies ist der Dateiname ohne vorangestellte Verzeichnisnamen  (also
                     nur  das  letzte  Element).  Für  /  ergibt  sich  /.  Ein Beispiel finden Sie im Abschnitt
                     BEISPIELE.

              %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 Gruppenkennung, wenn  die  Gruppe  keinen
                     Namen hat

              %G     die numerische Gruppenkennung der Datei

              %h     Der  Verzeichnisname;  die  voranstehenden  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  Kennzeichner  %h  zu ».« expandiert. Für Dateien, die selbst
                     Verzeichnisse  sind  und  einen  Schrägstrich  enthalten  (/),  wird  %h  zu  einer  leeren
                     Zeichenkette expandiert. Ein Beispiel finden Sie im Abschnitt BEISPIELE.

              %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 1 kB-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 Anweisung wird von
                     Findutils seit einschließlich Version 4.2.5 unterstützt.

              %n     Anzahl harter Links auf die Datei

              %p     Name der Datei

              %P     Name der Datei; ohne den Namen des Startpunkts, unter dem sie gefunden wurde.

              %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.  Im  allgemeinen  ist  die   von   einer   Datei   verwandte   Anzahl   an   Blöcken
                     dateisystemabhängig.  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  der  C-Funktion  ctime(3)  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 Benutzerkennung, falls der Benutzer keinen
                     Namen hat.

              %U     numerische Benutzerkennung 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,
                     »?« für jeden anderen Fehler beim Bestimmen des Typs des Symlink-Ziels.

              %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  Anweisungen  %m  und  %d unterstützen die Schalter #, 0 und +, die anderen Anweisungen jedoch
              nicht, selbst wenn Nummern ausgegeben werden. Numerische Anweisungen,  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, wird nicht hinein abgestiegen. Falls -depth angegeben
              ist, dann hat -prune keine Wirkung. Da -delete -depth impliziert, können Sie  -prune  und  -delete
              nicht sinnvoll zusammen benutzen. Um beispielsweise das Verzeichnis src/emacs und alle Dateien und
              Verzeichnisse darunter zu überspringen und die Namen der anderen  gefundenen  Dateien  auszugeben,
              machen Sie etwas wie Folgendes:
                  find . -path ./src/emacs -prune -o -print

       -quit  Beendet  sofort  (mit  einem  Rückgabewert  von  0,  falls  keine  Fehler  aufgetreten sind). Dies
              unterscheidet sich von -prune, da -prune lediglich auf die Inhalte der  ignorierten  Verzeichnisse
              angewendet  wird,  während  -quit  einfach  nur  find  sofort  beendet. Es bleiben keine laufenden
              Kindprozesse übrig. Alle mit -exec  + or -execdir  + erstellten Befehle, die aufgerufen  wurden,
              werden  beendet.  Nach  der  Ausführung  von  -quit  werden  keine  weiteren  in  der Befehlszeile
              angegebenen Befehle verarbeitet.  Beispielsweise  gibt  »find /tmp/foo /tmp/bar -print -quit«  nur
              »/tmp/foo« aus.
              Ein häufiger Anwendungsfall für -quit ist, das Durchsuchen des Dateisystems zu beenden, sobald das
              Gewünschte gefunden wurde. Falls beispielsweise nur eine  einzelne  Datei  gefunden  werden  soll,
              können Sie Folgendes tun:
                  find / -name Nadel -print -quit

   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 nicht POSIX-konform

       Ausdruck1 Ausdruck2
              Zwei Ausdrücke in einer Reihe werden mit einem  impliziten  -a  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.

       Bitte  beachten  Sie,  das  -a,  wenn  es  implizit  (zum Beispiel, wenn zwei Tests ohne einen expliziten
       Operator zwischen ihnen auftauchen) oder explizit angegeben wird, Vorrang vor -o hat. Das bedeutet,  dass
       find . -name afile -o -name bfile -print niemals afile ausgibt.

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 Anweisung benutzt wird. Die Anweisungen %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 Anweisungen %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 Anweisungen %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-2008, 2016 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 (Spezialdatei für Prozesskommunikation) repräsentiert, wo diese vom
              Betriebsystem bereitgestellt wird. Desweiteren erlaubt GNU find die Angabe  mehrfacher  Typen  auf
              einmal in einer Kommata-getrennten Liste.

       -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 positiven (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 Meldungskatalog 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)   unterstützt,   die  in  POSIX  nicht  gültig  sind,  um
              abwärtskompatibel zu sein.

       Andere Primärausdrücke
              Die Primärausdrücke -atime, -ctime, -depth, -exec, -group, -links, -mtime, -nogroup, -nouser, -ok,
              -path, -print, -prune, -size, -user und -xdev werden alle unterstützt.

       Der  POSIX-Standard  spezifiziert Klammern »(«, »)«, Verneinung »!« und die Operatoren »AND« und »OR« (-a
       und -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  muss  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 Bibliotheksfunktion 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  Meldungen 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-Meldungskataloge.

       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
              impliziert -nowarn), da POSIX erfordert, dass unabhängig von der Ausgabe von  -ok  alle  Meldungen
              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 Meldungskatalogen des Systems ab, im Gegensatz zur Beachtung der
              eigenen Meldungsübersetzungen von find.

       TZ     beeinflusst die Zeitzone, die für einige zeitbezogene Formatanweisungen von -printf  und  -fprintf
              benutzt wird.

BEISPIELE

   Einfacher Ansatz mit »find|xargs«
       •      Dateien mit dem Namen core in oder unterhalb des Verzeichnisses /tmp suchen und diese löschen.

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

              Beachten Sie, dass dies nicht korrekt funktioniert, falls die Dateinamen Zeilenvorschübe, einfache
              oder doppelte Anführungszeichen oder Leerzeichen enthalten.

   Sicherer Ansatz mit »find -print0 | xargs -0«
       •      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.

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

              Der  Test  -name  kommt  in der Reihenfolge vor dem Test -type, um zu verhindern, dass stat(2) für
              jede Datei aufgerufen wird.

       Beachten Sie, dass es immer noch  einen  Wettlauf  zwischen  der  Zeit,  die  find  zum  Durchsuchen  des
       Dateisystems  und  der  Ausgabe  der  passenden  Dateinamen  einerseits  und  der Zeit, die der von xargs
       aufgerufene Prozess für die Arbeit mit der Datei braucht, gibt.

   Verarbeiten willkürlicher Startpunkte
       •      Nehmen wir an, dass ein fiktives Programm namens proggy eine sehr lange, durch Nullbytes getrennte
              Dateiliste  vorfiltert  und  erzeugt,  diese als Startpunkte verarbeitet und alle regulären leeren
              Dateien darin sucht:

                  $ proggy | find -files0-from - -maxdepth 0 -type f -empty

              Durch `-files0-from -` werden die Namen der  Startpunkte  aus  der  Standardeingabe  gelesen,  das
              heißt,  aus der Pipe. Hierbei stellt -maxdepth 0 sicher, dass Einträge ausdrücklich ohne Absteigen
              in Unterverzeichnisse ausgewertet werden (falls einer der Startpunkte ein Verzeichnis ist).

   Ausführen eines Befehls für jede Datei
       •      Den Befehl file für jede Datei in oder unterhalb des aktuellen Verzeichnisses ausführen.

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

              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.

       In  vielen  Fällen  könnten Sie die Syntax »-exec   oder besser noch »-execdir   aus Leistungs- und
       Sicherheitsgründen bevorzugen.

   Einmaliges Durchlaufen des Dateisystems - für 2 verschiedene Aktionen
       •      das Dateisystem nur einmal durchlaufen, set-user-ID-Dateien und  Verzeichnisse  in  /root/suid.txt
              und große Dateien in /root/big.txt auflisten.

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

              Dieses  Beispiel  verwendet  das  Zeilenfortführungszeichen »\« auf den ersten zwei Zeilen, um die
              Shell anzuweisen, mit dem Einlesen des Befehls auf der nächsten Zeile fortzufahren.

   Dateisuche anhand des Alters
       •      Nach Dateien in Ihrem Home-Verzeichnis suchen, die in den letzten 24 Stunden geändert wurden.

                  $ find $HOME -mtime 0

              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.

   Dateisuche anhand der Zugriffsrechte
       •      sucht Dateien, die ausführbar, aber nicht lesbar sind

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

       •      Nach  Dateien  suchen,  die Lese- und Schreibrechte für ihren Benutzer und ihre Gruppe haben, aber
              von anderen Benutzern gelesen, aber nicht geschrieben werden können.

                  $ find . -perm 664

              Dateien, die diesem Kriterium entsprechen, aber andere Rechte-Bits gesetzt  haben  (zum  Beispiel,
              wenn jemand die Datei ausführen kann), werden nicht passen.

       •      Nach  Dateien suchen, 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.

                  $ find . -perm -664

              Dies wird beispielsweise auf eine Datei mit dem Modus 0777 passen.

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

                  $ find . -perm /222

       •      Nach Dateien suchen, die für ihren Besitzer oder ihre Gruppe schreibbar sind.

                  $ 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. Die Dateien müssen nicht sowohl für Besitzer
              und Gruppe schreibbar sein, um zu passen; eines genügt.

       •      Nach Dateien suchen, die für ihren Besitzer oder ihre Gruppe schreibbar sind.

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

              Beide Befehle führen das Gleiche aus.

       •      Eine ausgeklügeltere Suche nach Berechtigungen.

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

   »Pruning« - Dateien und Verzeichnisse auslassen
       •      Dieser Befehl kopiert den Inhalt aus dem /Quellverzeichnis in  das  /Zielverzeichnis,  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.

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

              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.

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

                  $ find repo/ \
                      \( -exec test -d '{}/.svn' \; \
                      -or -exec test -d '{}/.git' \; \
                      -or -exec test -d '{}/CVS' \; \
                      \) -print -prune

              Beispielausgabe:

                  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.

   Weitere nützliche Beispiele
       •      Nach verschiedenen Dateitypen suchen

                  $ find /tmp -type f,d,l

              sucht  nach  Dateien,  Verzeichnissen und symbolischen Links im Verzeichnis /tmp. Dabei werden die
              Typen als Komma-separierte Liste übergeben (GNU-Erweiterung),  was  ansonsten  äquivalent  zu  dem
              folgenden längeren, portableren Ausdruck ist:

                  $ find /tmp \( -type f -o -type d -o -type l \)

       •      Nach Dateien mit dem Namen Nadel suchen und sofort anhalten, wenn der erste Treffer gefunden wird:

                  $ find / -name Nadel -print -quit

       •      Darstellung,  wie  die  Formatanweisungen  %f und %h für die -printf-Aktion in einigen Grenzfällen
              interpretiert wird. Hier ist ein Beispiel, das auch einige Ausgaben enthält.

                  $ find . .. / /tmp /tmp/TRACE compile compile/64/tests/find -maxdepth 0 -printf '[%h][%f]\n'
                  [.][.]
                  [.][..]
                  [][/]
                  [][tmp]
                  [/tmp][TRACE]
                  [.][compile]
                  [compile/64/tests][find]

EXIT-STATUS

       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.

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
       -files0-from           4.9.0
       -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

   Überraschungen bei Operatorenvorrangsregeln
       Der Befehl find . -name afile -o -name bfile -print gibt niemals afile aus,  da  der  Befehl  tatsächlich
       äquivalent  zu  find  . -name afile -o \( -name bfile -a -print \) ist. Denken Sie daran, dass -a Vorrang
       vor -o hat und dass, sofern kein Operator zwischen den Tests angegeben ist, -a angenommen wird.
                                                         q
   Fehlermeldungen “Der Pfad muss vor dem Ausdruck stehen
       $ find . -name *.c -print
       find: Der Pfad muss vor dem Ausdruck stehen
       find: Mögliches nichtgeschütztes Muster nach dem Prädikaten »-name«?

       Dies passiert, wenn die Shell das Muster *.c auf mehr als einen im  aktuellen  Verzeichnis  existierenden
       Dateinamen  expandieren  könnte  und  die  entstehenden  Dateinamen in der Befehlszeile wie folgt an find
       weitergibt:
       find . -name frcode.c locate.c word_io.c -print
       Dieser Befehl wird natürlich nicht funktionieren, da das Prädikat -name nur genau ein Muster als Argument
       erlaubt.  Statt  auf diese Art zu arbeiten, sollten Sie das Muster in Anführungszeichen einschließen oder
       den Platzhalter schützen, und damit find erlauben, das Muster mit dem Platzhalter während der  Suche  auf
       passende Dateinamen zu verwenden, statt die Dateinamen durch die Eltern-Shell zu expandieren:
       $ find . -name '*.c' -print
       $ find . -name \*.c -print

FEHLER

       Es  gibt  Sicherheitsprobleme, die dem durch den POSIX-Standard für find definierten Verhalten innewohnen
       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.

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

FEHLER MELDEN

       Onlinehilfe für GNU findutils: <https://www.gnu.org/software/findutils/#get-help>
       Melden  Sie  Fehler  in  der  Übersetzung  an  das  deutschsprachige  Team  beim  GNU Translation Project
       ⟨https://translationproject.org/team/de.html⟩.

       Melden Sie alle anderen Fehler über das Formular im Fehlererfassungssystem bei GNU Savannah:
              <https://savannah.gnu.org/bugs/?group=findutils>
       Allgemeine Themen zum GNU-Findutils-Paket werden in der Mailingliste bug-findutils diskutiert:
              <https://lists.gnu.org/mailman/listinfo/bug-findutils>

COPYRIGHT

       Copyright  ©  1990-2022  Free  Software   Foundation,   Inc.   Lizenz   GPLv3+:   GNU   GPL   Version   3
       ⟨https://gnu.org/licenses/gpl.html⟩ oder neuer.
       Dies  ist  freie  Software:  Sie  können  sie  verändern  und weitergeben. Es gibt KEINE GARANTIE, soweit
       gesetzlich zulässig.

SIEHE AUCH

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

       Die vollständige Dokumentation ist auf <https://www.gnu.org/software/findutils/find>
       oder lokal via: info find

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Chris  Leick  <c.leick@vollbio.de>,  Mario
       Blättermann <mario.blaettermann@gmail.com>, Dr. Tobias Quathamer <toddy@debian.org> und Helge  Kreutzmann
       <debian@helgefjell.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die  GNU  General  Public  License  Version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 die
       Mailingliste der Übersetzer ⟨debian-l10n-german@lists.debian.org⟩.

                                                                                                         FIND(1)