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

BEZEICHNUNG

       find - in einer Verzeichnishierarchie nach Dateien suchen

ÜBERSICHT

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

BESCHREIBUNG

       Diese  Handbuchseite  beschreibt  die GNU-Version von find. GNU-find durchsucht die Verzeichnisbäume, die
       ihren Ursprung bei den angegebenen Dateinamen haben und wertet dabei den Ausdruck von links  nach  rechts
       entsprechend  der  Operatorenrangfolge  aus  (siehe Abschnitt OPERATOREN), bis das Ergebnis ermittelt ist
       (die linke Seite falsch ist für UND-Operatoren und wahr für ODER-Operatoren). Anschließend fährt find mit
       der nächsten Datei fort. Wird kein Startpunkt angegeben, wird ».« angenommen.

       Falls Sie find in einem Umfeld benutzen, in dem Sicherheit wichtig ist (zum Beispiel, um Verzeichnisse zu
       durchsuchen,  die  für  andere  Anwender  schreibbar  sind),  sollten  Sie  die  das  Kapitel   »Security
       Considerations«  der  Findutils-Dokumentation  lesen, die Finding Files heißt und den Findutils beigefügt
       ist. Dieses Dokument enthält außerdem mehr Einzelheiten und Erörterungen als diese Handbuchseite, so dass
       Sie es als eine nützlichere Informationsquelle empfinden könnten.

OPTIONEN

       Die  Optionen  -H,  -L  und  -P  steuern   den   Umgang   mit   symbolischen   Links.   Darauf   folgende
       Befehlszeilenparameter  werden  als  zu  untersuchende  Datei-  oder Verzeichnisnamen betrachtet, bis ein
       Parameter mit einem »-« beginnt oder ein »(« oder »!«, ist. Solche und alle  folgenden  Parameter  werden
       als  Ausdruck  interpretiert, der beschreibt, wonach gesucht werden soll. Wenn kein Pfad angegeben wurde,
       wird das aktuelle Verzeichnis genommen. Wenn kein  Ausdruck  angegeben  ist,  wird  der  Ausdruck  -print
       benutzt (aber Sie sollten vermutlich sowieso in Betracht ziehen, stattdessen -print0 zu verwenden).

       Dieses  Handbuch  spricht von »Optionen« innerhalb einer Liste von Ausdrücken. Diese Optionen steuern das
       Verhalten von find, werden aber direkt nach dem letzten Pfadnamen angegeben. Die fünf  »echten«  Optionen
       -L,  -P,  -D  und  -O  müssen  wenn dann vor dem ersten Pfadnamen erscheinen. Außerdem kann ein doppeltes
       Minuszeichen -- benutzt werden, um zu signalisieren, dass die verbleibenden Argumente keine Optionen sind
       (obwohl es im Allgemeinen sicherer ist, wenn Sie dafür sorgen, dass alle Startpunkte  entweder  mit  »./«
       oder »/« beginnen, falls Sie Platzhalter in der Liste der Startpunkte verwenden).

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

       -L     symbolischen  Links folgen. Wenn find eine Datei untersucht oder Informationen über diese ausgibt,
              dann sollten die Informationen der Datei verwendet werden, auf die der symbolische Link  verweist,
              nicht  die  des  Links selbst (es sei denn, der symbolische Link ist kaputt oder find nicht in der
              Lage, die Datei zu untersuchen, auf die der Link zeigt). Die Verwendung dieser  Option  impliziert
              die  Option -noleaf. Wenn Sie später die Option -P verwenden, wird -noleaf immer noch Auswirkungen
              haben. Wenn -L aktiv  ist  und  find  während  seiner  Suche  einen  symbolischen  Link  zu  einem
              Unterverzeichnis  vorfindet,  wird  das  Unterverzeichnis durchsucht, auf das der symbolische Link
              zeigt.

              Wenn die Option -L in Kraft ist, wird das Prädikat -type immer auf den Typ der  Datei  angewendet,
              auf  die  ein  symbolischer  Link zeigt, anstatt auf den Link selbst (es sei denn, der symbolische
              Link ist kaputt). Aktionen die symbolische Links zerstören,  während  find  ausgeführt  wird  (zum
              Beispiel  -delete), können verwirrendes Verhalten verursachen. Die Verwendung von -L bewirkt, dass
              die Prädikate -lname und -ilname immer falsch zurückliefern.

       -H     keinen symbolischen  Links  folgen,  es  sei  denn,  die  Parameter  in  der  Befehlszeile  werden
              ausgewertet.  Wenn  find  Dateien  untersucht  oder  Informationen  über diese ausgibt, sollen die
              verwendeten Informationen vom symbolischen Link selbst benutzt werden. Die einzige Ausnahme dieses
              Verhaltens ist, wenn eine in der Befehlszeile angegebene Datei ein symbolischer Link ist  und  dem
              Link gefolgt werden kann. In dieser Situation werden die Informationen der Datei genommen, auf die
              der  symbolische  Link verweist (das bedeutet, dass dem Link gefolgt wird). Die Informationen über
              den Link selbst dienen als Rückgriff für den Fall, dass die Datei, auf die  der  symbolische  Link
              verweist,  nicht  untersucht  werden  kann.  Wenn -H in Kraft ist und einer der Pfade, die auf der
              Befehlszeile angegeben wurden, ein symbolischer Link zu einem Verzeichnis ist, werden die  Inhalte
              dieses Verzeichnisses untersucht (was natürlich »-maxdepth 0« verhindern würde).

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

       GNU-find  fragt  oft  Datei-Informationen  während  der  Verarbeitung  der  Befehlszeile selbst ab, bevor
       irgendeine Suche begonnen hat. Diese Optionen beeinflussen auch, wie diese Argumente verarbeitet  werden.
       Insbesondere  gibt es einige Tests, die Dateien auf der Befehlszeile mit einer aktuell betrachteten Datei
       vergleichen. Die Datei, die auf der Befehlszeile angegeben wird,  wird  auf  jeden  Fall  untersucht  und
       einige Ihrer Eigenschaften werden gespeichert. Falls die genannte Datei ein symbolischer Link ist und die
       Option  -P  in  Kraft  ist  (oder  falls  weder  -H noch -L angegeben wurden), wird die für den Vergleich
       benutzte Information aus den Eigenschaften des symbolischen Links genommen. Anderenfalls wird sie aus den
       Eigenschaften der Datei genommen, auf die der Link verweist. Falls find dem Link nicht folgen  kann  (zum
       Beispiel,  weil es nicht über ausreichende Rechte verfügt oder der Link auf eine nicht existierende Datei
       verweist), werden die Eigenschaften des Links selbst benutzt.

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

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

       -D Debug-Optionen
              Diagnoseinformationen ausgeben; dies kann hilfreich sein, um Probleme  zu  diagnostizieren,  warum
              find  nicht  das  tut,  was Sie möchten. Die Liste der Debug-Optionen sollte durch Kommas getrennt
              sein. Kompatibilität der Debug-Optionen ist zwischen den unterschiedlichen Versionen der Findutils
              nicht gewährleistet. Um eine vollständige Liste der gültigen Optionen zu erhalten, lesen  Sie  die
              Ausgabe von find -D help. Gültige Debug-Optionen sind unter anderem:

              help   Erklärt die Debugging-Optionen

              tree   zeigt den Ausdrucksbaum in seiner originalen und optimierten Form.

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

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

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

       -Olevel
              aktiviert Abfragenoptimierung. Das Programm find  ordnet  Tests  neu  an,  um  die  Ausführung  zu
              beschleunigen,  ohne  das Gesamtergebnis zu ändern; das heißt, Prädikate mit Seiteneffekten werden
              im Gegensatz zu anderen nicht neu angeordnet. Die Optimierungen die  auf  jeder  Optimierungsstufe
              durchgeführt werden, sind wie folgt.

              0      entspricht der Optimierungsstufe 1

              1      Dies  ist  die  Standardoptimierungsstufe  und  entspricht  dem  traditionellen  Verhalten.
                     Ausdrücke werden neu angeordnet, so dass Tests, die nur auf den Namen der Dateien  basieren
                     (zum Beispiel -name und -regex) zuerst durchgeführt werden.

              2      Irgendwelche  -type-  oder  -xtype-Tests  werden  nach  allen Tests, die nur auf Dateinamen
                     basieren, aber vor Tests, die Informationen aus  dem  Inode  benötigen,  durchgeführt.  Auf
                     vielen  modernen  Versionen  von  Unix  werden Dateitypen durch readdir() zurückgegeben und
                     daher sind diese Prädikate schneller auszuwerten als Prädikate, die  zuerst  stat  für  die
                     Datei ausführen müssen. Wenn Sie beim Start von find das Prädikat FOO für -fstype verwenden
                     und  einen  unbekannten  Dateisystemtyp FOO angeben (in »/etc/mtab« aufgeführt), entspricht
                     dies dem Prädikat -false.

              3      Auf dieser Optimierungsstufe ist der vollständig kostenbasierte Optimierer  aktiviert.  Die
                     Reihenfolge  der Tests wird geändert, so dass günstige (d.h. schnelle) Tests zuerst und die
                     teureren später durchgeführt  werden,  falls  nötig.  Innerhalb  jeder  Kostenebene  werden
                     Prädikate  früher  oder  später  ausgewertet, je nachdem, ob sie wahrscheinlich erfolgreich
                     sein werden oder nicht. Für -o  werden  Prädikate,  die  wahrscheinlich  erfolgreich  sind,
                     früher  ausgewertet  und  für  -a werden Prädikate, die wahrscheinlich fehlschlagen, früher
                     ausgewertet.

              Der kostenbasierte Optimierer hat eine feste Vorstellung davon, wie wahrscheinlich  ein  gegebener
              Test  erfolgreich  ist.  In einigen Fällen trägt die Wahrscheinlichkeit einer bestimmten Eigenheit
              des Tests Rechnung (zum Beispiel wird von -type f angenommen, dass es eher  erfolgreich  ist,  als
              -type  c).  Der  kostenbasierte  Optimierer  wird  derzeit untersucht. Falls er nicht wirklich die
              Leistung von find verbessert, wird er wieder entfernt. Im umgekehrten Fall  werden  Optimierungen,
              die  beweisen,  dass  sie  zuverlässig, robust und effektiv sind, im Lauf der Zeit auf niedrigeren
              Optimierungsstufen aktiviert. Das Standardverhalten (d.h. Optimierungsstufe 1) wird  jedoch  nicht
              in  der  4.3.x-Veröffentlichungsserie  geändert.  Die Test-Suite Findutils führt all die Tests auf
              find auf jeder Optimierungsstufe aus und stellt sicher, dass das Ergebnis das Gleiche ist.

AUSDRUCK

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

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

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

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

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

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

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

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

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

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

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

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

       -warn, -nowarn
              schaltet  Warnungen  ein  oder  aus. Diese Warnungen betreffen nur die Benutzung der Befehlszeile,
              nicht für irgendwelche Bedingungen, auf  die  find  beim  Durchsuchen  von  Verzeichnissen  stoßen
              könnte.  Das  Standardverhalten  entspricht  -warn, falls die Standardeingabe ein Terminal ist und
              andernfalls -nowarn. Wenn eine Warnmeldung relativ zur Befehlsausführung erzeugt wird,  dann  wird
              der  Exit-Status  von  find  davon  nicht  beeinflusst.  Ist die Umgebungsvariable POSIXLY_CORRECT
              gesetzt und -warn wird  ebenfalls  verwendet,  dann  kann  nicht  exakt  bestimmt  werden,  welche
              Warnungen aktiv sind, falls Warnmeldungen auftreten.

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

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

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

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

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

       -ignore_readdir_race
              Normalerweise  wird  find  eine Fehlermeldung ausgeben, wenn das Ausführen von Stat für eine Datei
              fehlschlägt. Falls Sie diese Option angeben und eine Datei in der  Zeit  zwischen  dem  Lesen  des
              Namens im Verzeichnis durch find und der Zeit gelöscht wurde, in der Stat für die Datei ausgeführt
              wird,  wird  keine  Fehlermeldung  ausgegeben. Dies gilt auch für Dateien und Verzeichnisse, deren
              Namen auf der  Befehlszeile  angegeben  wurden.  Diese  Option  tritt  dann  in  Kraft,  wenn  die
              Befehlszeile  gelesen  wird,  was  bedeutet, dass Sie nicht einen Teil des Dateisystem durchsuchen
              können, bei dem diese Option eingeschaltet ist und einen Teil, bei dem diese Option  ausgeschaltet
              ist  (falls  Sie  dies tun müssen, werden Sie stattdessen zwei find-Befehle absetzen müssen, einen
              mit und einen ohne der Option.

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

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

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

       -noignore_readdir_race
              den Effekt -ignore_readdir_race ausschalten

       -noleaf
              nicht optimieren mit der Annahme, dass Verzeichnisse zwei  Unterverzeichnisse  weniger  enthalten,
              als ihre Anzahl harter Links. Diese Option wird benötigt, wenn Dateisysteme durchsucht werden, die
              nicht  den  Konventionen  von Unix-Verzeichnis-Links folgen, wie CD-ROM-, MS-DOS-Dateisysteme oder
              AFS-Datenträgereinhängepunkte.  Jedes  Verzeichnis  auf  einem   normalen   Unix-Dateisystem   hat
              mindestens  zwei  harte  Links:  seinen  Namen  und  seinen  »..«-Eintrag.  Zusätzlich haben seine
              Unterverzeichnisse (falls vorhanden)  jeweils  einen  »..«-Eintrag,  der  auf  dieses  Verzeichnis
              verweist.  Wenn  find  ein  Verzeichnis  untersucht,  weiß es, nachdem es zwei Unterverzeichnissen
              weniger als der Links-Anzahl des Verzeichisses begegnet  ist,  dass  der  Rest  der  Einträge  des
              Verzeichnisses  keine  Verzeichnisse  sind  (Blätter  im Verzeichnisbaum). Falls nur die Namen der
              Dateien untersucht werden müssen, gibt es keinen Grund Stat für sie  auszuführen;  dies  führt  zu
              einer spürbaren Erhöhung der Suchgeschwindigkeit.

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

       -xdev  keine Verzeichnisse auf anderen Dateisystemen hinabsteigen

   TESTS
       Einige  Tests,  zum Beispiel -newerXY und -samefile erlauben den Vergleich der aktuell untersuchten Datei
       und irgendwelchen Referenzdateien, die auf der Befehlszeile angegeben  wurden.Wenn  diese  Tests  benutzt
       werden,  wird die Interpretation der Referenzdatei durch die Optionen -H, -L, -P und jedem vorhergehenden
       -follow festgelegt,  die  Referenzdatei  wird  nur  einmal  zu  dem  Zeitpunkt  untersucht,  an  dem  die
       Befehlszeile  ausgewertet  wird.  Falls die Referenzdatei nicht untersucht werden kann (weil zum Beispiel
       der Systemaufruf stat(2) dafür fehlschlägt), wird eine Fehlermeldung ausgegeben und find endet mit  einem
       Status ungleich null.

       Numerische Argumente können angegeben werden als

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

       -n     für kleiner als n,

       n      für genau n

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

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

       -atime n
              Auf  die  Datei  ist  vor  n*24  Stunden  zugegriffen  worden.  Wenn  Find  herausfindet, wieviele
              24-Stundenzeiträume es her ist, seit  auf  die  Datei  zugegriffen  wurde,  wird  jeder  Bruchteil
              ignoriert,  so  dass  -atime  +1  auf eine Datei passt, auf die zuletzt vor zwei Tagen zugegriffen
              wurde.

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

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

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

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

       -executable
              passt auf ausführbare Dateien und durchsuchbare Verzeichnisse (im Sinn der Namensauflösung).  Dies
              berücksichtigt   Zugriffssteuerungslisten   (Access   Control  Lists)  und  andere  Artefakte  von
              Benutzerrechten, die der Test  -perm  ignoriert.  Dieser  Test  macht  Gebrauch  vom  Systemaufruf
              access(2)  und  kann  daher  durch NFS-Server getäuscht werden, die Abbildung der Benutzerkennzahl
              (oder Root-Squashing) nutzen, da viele Systeme access(2) im Kernel des Clients implementieren  und
              daher  von  den  Abbildungsinformationen der Benutzerkennzahlen keinen Gebrauch machen können, die
              auf dem Server gehalten werden. Da dieser Test nur auf dem Ergebnis des  Systemaufrufs   access(2)
              basiert,  gibt  es  keine  Gewährleistung,  dass  eine Datei, bei der dieser Test erfolgreich war,
              tatsächlich ausgeführt werden kann.

       -false Immer falsch

       -fstype Typ
              Die Datei liegt auf einem Dateisystem  des  Typs  Typ.  Die  gültigen  Dateisystemtypen  variieren
              zwischen verschiedenen Versionen von Unix; eine unvollständige Liste der Dateisystemtypen, die auf
              einigen  Versionen  von  Unix  und anderen akzeptiert werden ist Folgende: ufs, 4.2, 4.3, nfs,tmp,
              mfs, S51K und S52K. Sie können -printf mit der Option %F benutzen, um die Typen Ihrer Dateisysteme
              zu sehen.

       -gid n Die numerische Gruppenkennzahl der Datei ist n.

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

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

       -iname Muster
              Funktioniert  genauso  wie  -name  ohne  jedoch  Groß- und Kleinschreibung zu berücksichtigen. Zum
              Beispiel werden die Muster »fo*« und »F??« beide die  Dateien  »Foo«,  »FOO«,  »foo«,  »fOo«  usw.
              finden. Das Muster *bar wird auch Dateien wie ».foobar« finden.

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

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

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

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

       -links n
              Datei hat n Links.

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

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

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

       -name Muster
              Der  Dateiname  ohne  führende  Verzeichnisse  (basename)  passt  zum  Shell-Muster Muster. Da die
              führenden Verzeichnisse entfernt sind, enthalten die für  die  Übereinstimmungsfindung  mit  -name
              berücksichtigten  Dateinamen  niemals  einen  Schrägstrich,  daher  wird »-name a/b« niemals einen
              Treffer ergeben. Wahrscheinlich werden Sie stattdessen -path benutzen müssen.  Eine  Warnung  wird
              ausgegeben, wenn Sie dies zu tun versuchen, es sei denn, die Umgebungsvariable POSIXLY_CORRECT ist
              gesetzt. Die Metazeichen (»*«, »?« und »[]«) entsprechen einem ».« am Anfang des Basisnamens (dies
              ist  eine  Änderung  in  findutils-4.2.2;  siehe  Abschnitt  STANDARDKONFORMITÄT  unten).  Um  ein
              Verzeichnis und die Dateien darin zu ignorieren, benutzen Sie -prune; ein Beispiel finden  Sie  in
              der  Beschreibung  von  -path.  Klammern  werden  nicht  als  etwas  Besonderes erkannt, trotz der
              Tatsache, dass einige Shells einschließlich der Bash Klammern eine besondere  Bedeutung  innerhalb
              von  Shell-Mustern beimessen. Der Dateinamensabgleich wird unter Benutzung der Bibliotheksfunktion
              fnmatch(3) durchgeführt. Vergessen Sie nicht, das Muster in Anführungszeichen zu setzen, um es vor
              Expandierung durch die Shell zu schützen.

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

       -newerXY Bezug
              Dies ist erfolgreich, wenn der Zeitstempel X der Datei als neuer als der der  Datei  Y  der  Datei
              Bezug erkannt wird. Die Zeichen X und Y sind aus folgenden Buchstaben frei wählbar:

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

              Einige  Kombinationen  sind  ungültig.  So darf X bespielsweise nicht t sein. Einige Kombinationen
              sind nicht auf allen Systemen implementiert.  B  wird  beispielsweise  nicht  von  allen  Systemen
              unterstützt.  Falls  eine  ungültige  oder  nicht unterstützte Kombination von XY angegeben wurde,
              kommt es dadurch zu  einem  schwerwiegenden  Fehler.  Zeitangaben  werden  diesbezüglich  wie  das
              Argument  zu  der  Option  -d  von GNU-date interpretiert. Falls Sie versuchen die Erstellungszeit
              einer Bezugsdatei zu benutzen und die Erstellungszeit nicht bestimmt werden kann, kommt es dadurch
              zu einer Nachricht über einen schwerwiegenden Fehler. Falls Sie einen Test angeben, der  sich  auf
              die  Erstellungszeit der Dateien bezieht, die untersucht werden, wird dieser Test für jene Dateien
              fehlschlagen, deren Erstellungszeit nicht bekannt ist.

       -nogroup
              Der numerische Gruppenkennzahl der Datei entspricht keiner Gruppe.

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

       -path Muster
              Der Dateiname passt zum  Shell-Muster  Muster.  Die  Metazeichen  behandeln  »/«  oder  ».«  nicht
              besonders; daher wird zum Beispiel
                        find . -path "./sr*sc"
              einen  Eintrag  für  ein  Verzeichnis  mit  Namen  »./src/misc«  ausgeben (falls eines exisitert).
              Benutzen Sie -prune, um einen ganzen Verzeichnisbaum zu ignorieren, anstatt jede Datei im Baum  zu
              überprüfen. Um beispielsweise das Verzeichnis »src/emacs« und alle Dateien und Verzeichnisse darin
              zu überspringen und die Namen der anderen gefundenen Dateien auszugeben, versuchen Sie Folgendes:
                        find . -path ./src/emacs -prune -o -print
              Beachten  Sie,  dass  Mustervergleichstests auf den ganzen Dateinamen angewendet werden, beginnend
              von einem der auf der Befehlszeile benannten Startpunkte. Es würde nur Sinn  ergeben,  hier  einen
              absoluten  Pfadnamen  zu  benutzen,  wenn der maßgebliche Startpunkt auch ein absoluter Pfad wäre.
              Dies bedeutet, dass dieser Befehl niemals auf etwas zutreffen wird:
                        find bar -path /foo/bar/myfile -print
              Find vergleicht das Argument -path mit der Verkettung eines Verzeichnisnamens mit  dem  Basisnamen
              der  Datei,  die  es  untersucht.  Da  die  Verkettung  nie  mit  einem Schrägstrich endet, werden
              -path-Argumente mit einem solchen Schrägstrich am  Ende  nie  als  Treffer  gewertet  (außer  wenn
              vielleicht  ein  Startpunkt in der Befehlszeile angegeben wird). -path wird auch von find in HP-UX
              unterstützt und wird in einer zukünftigen Version Teil des POSIX-Standards werden.

       -perm Modus
              Die Zugriffsrechte der Datei entsprechen exakt  dem  Modus  (oktal  oder  symbolisch).  Da  exakte
              Übereinstimmung  nötig  ist, wenn Sie diese Form für symbolische Modi benutzen möchten, müssen Sie
              möglicherweise eine eher komplexe Moduszeichenkette angeben. -perm g=w wird beispielsweise nur bei
              Dateien zutreffen, die den Modus 0020 haben (also einer, bei dem das Schreibrecht der  Gruppe  das
              einzige  gesetzte  Recht  ist).  Wahrscheinlicher  ist,  dass Sie die Formen »/« oder »-« benutzen
              möchten, zum Beispiel -perm -g=w, was auf  jede  Datei  mit  Gruppenschreibrechten  passt.  Einige
              anschauliche Beispiele finden Sie im Abschnitt BEISPIELE.

       -perm -Modus
              Alle  Rechte-Bits  Modus  sind  für  diese  Datei  gesetzt. Symbolische Modi werden in dieser Form
              akzeptiert. Dies ist üblicherweise die Art, auf die Sie sie benutzen möchten. Sie müssen »u«,  »g«
              oder  »o«  angeben,  falls  Sie  einen symbolischen Modus verwenden. Einige anschauliche Beispiele
              finden Sie im Abschnitt BEISPIELE.

       -perm /Modus
              Einige der Rechte-Bits Modus sind für diese Datei gesetzt. Symbolische Modi werden in dieser  Form
              akzeptiert.  Sie  müssen  »u«, »g« oder »o« angeben, falls Sie einen symbolischen Modus verwenden.
              Einige anschauliche Beispiele finden Sie im Abschnitt BEISPIELE. Falls keine Rechte-Bits in  Modus
              gesetzt  sind,  trifft  dieser  Test  auf  alle Dateien zu (die Idee, die dahinter steckt, ist das
              durchgängige Verhalten zu -perm -000).

       -perm +Modus
              Dies wird nicht mehr unterstützt und wurde bereits  2005  als  veraltet  markiert.  Verwenden  Sie
              stattdessen -perm /Modus.

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

       -regex Muster
              der Dateiname passt zu dem regulären Ausdruck Muster. Dies ist ein Treffer auf den gesamten  Pfad,
              keine  Suche.  Um  beispielsweise  eine  Datei  mit dem Namen »./fubar3« zu finden, können Sie die
              regulären Ausdrücke ».*bar.« oder ».*b.*3« benutzen, aber nicht »f.*r3«. Die regulären  Ausdrücke,
              die  find versteht, sind standardmäßig reguläre Ausdrücke von Emacs, dies kann aber mit der Option
              -regextype geändert werden.

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

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

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

              »c«    für Byte

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

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

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

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

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

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

       -true  immer wahr

       -type c
              Datei ist vom Typ c;:

              b      blockorientierte Spezialdatei (gepuffert)

              c      zeichenorientierte Spezialdatei (nicht gepuffert)

              d      Verzeichnis

              p      benannte Pipe (FIFO)

              f      reguläre Datei

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

              s      Socket

              D      Door (Solaris)

       -uid n Die numerische Benutzerkennzahl der Datei ist n.

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

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

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

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

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

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

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

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

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

       -exec Befehl {} +
              Diese Variante der Aktion -exec führt den angegebenen Befehl für  die  ausgewählten  Dateien  aus,
              aber  die  Befehlszeile wird durch das Anhängen jeder ausgewählten Datei an das Ende gebildet; die
              Gesamtzahl der Befehlsaufrufe wird viel geringer sein,  als  die  Anzahl  passender  Dateien.  Die
              Befehlszeile wird auf die gleiche Weise wie bei xargs gebildet. Innerhalb des Befehls ist nur eine
              Instanz  von  »{}« erlaubt. Der Befehl wird im Startverzeichnis ausgeführt. Wenn find einen Fehler
              entdeckt, kann dies gelegentlich zu  einem  unmittelbaren  Abbruch  führen,  so  dass  ausstehende
              Befehle überhaupt nicht mehr ausgeführt werden. Diese Variante von -exec gibt immer »wahr« zurück.

       -execdir Befehl ;

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

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

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

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

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

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

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

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

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

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

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

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

              \a     Alarmton

              \b     Rückschritt

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

              \f     Seitenvorschub

              \n     Zeilenvorschub

              \r     Wagenrücklauf

              \t     horizontaler Tabulator

              \v     vertikaler Tabulator

              \0     ASCII-Code 0

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

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

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

              %%     das Prozentzeichen selbst

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

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

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

                     Zeitfelder:

                     H      Stunde (00..23)

                     I      Stunde (01..12)

                     k      Stunde ( 0..23)

                     l      Stunde ( 1..12)

                     M      Minute (00..59)

                     p      PM oder AM der Locale

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

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

                     T      time, 24-hour (hh:mm:ss.xxxxxxxxxx)

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

                     X      locale's time representation (H:M:S). The seconds field includes a fractional part.

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

                     Datumsfelder:

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

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

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

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

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

                     d      Tag des Monats (01 bis 31)

                     D      Datum (mm/dd/yy)

                     h      das Gleiche wie b

                     j      Tag des Jahres (001..366)

                     m      Monat (01..12)

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

                     w      Tag der Woche (0 bis 6)

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

                     x      Datumsdarstellung der Locale (mm/dd/yy)

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

                     Y      Jahr (1970 …)

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

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

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

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

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

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

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

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

              %G     die numerische Gruppenkennzahl der Datei

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

              %H     der Startpunkt, unter dem die Datei gefunden wurde

              %i     die Inode-Nummer der Datei (dezimal)

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

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

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

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

              %n     Anzahl harter Links auf die Datei

              %p     Name der Datei

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

              %s     die Größe der Datei in Byte

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

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

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

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

              %U     numerische Benutzerkennzahl der Datei.

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

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

              %Z     (nur SELinux) Sicherheitskontext der Datei.

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

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

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

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

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

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

   OPERATOREN
       aufgelistet in der Reihenfolge abnehmender Wertigkeit:

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

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

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

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

       Ausdruck1 -a Ausdruck2
              entspricht Ausdruck1 Ausdruck2

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

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

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

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

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

UNÜBLICHE DATEINAMEN

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

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

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

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

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

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

STANDARDKONFORMITÄT

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

       -H     Diese Option wird unterstützt.

       -L     Diese Option wird unterstützt.

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

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

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

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

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

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

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

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

       Der POSIX-Standard erfordert, dass find Schleifen entdeckt:

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

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

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

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

UMGEBUNGSVARIABLEN

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

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

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

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

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

       NLSPATH
              bestimmt den Speicherort der Internationalisierungs-Nachrichtenkataloge.

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

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

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

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

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

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

BEISPIELE

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

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

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

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

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

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

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

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

       find $HOME -mtime 0

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

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

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

       find . -perm 664

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

       find . -perm -664

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

       find . -perm /222

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

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

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

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

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

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

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

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

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

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

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

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

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

RÜCKGABEWERT

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

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

SIEHE AUCH

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

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

GESCHICHTE

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

       Ab findutils-4.3.3 passt -perm /000 nun auf alle Dateien statt auf keine.

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

       Ab findutils-4.3.11 setzt die Aktion -delete den Rückgabewert von find auf einen Wert ungleich null, wenn
       sie  fehlschlägt.  find  wird  jedoch  nicht sofort beendet. Vorher wurde der Rückgabewert von find nicht
       durch ein Scheitern von -delete beeinflusst.
       Funktion               Hinzugefügt in   Erscheint auch in
       -newerXY               4.3.3            BSD
       -D                     4.3.1
       -O                     4.3.1
       -readable              4.3.0
       -writable              4.3.0
       -executable            4.3.0
       -regextype             4.2.24
       -exec … +              4.2.12           POSIX
       -execdir               4.2.12           BSD
       -okdir                 4.2.12
       -samefile              4.2.11
       -H                     4.2.5            POSIX
       -L                     4.2.5            POSIX
       -P                     4.2.5            BSD
       -delete                4.2.3
       -quit                  4.2.3
       -d                     4.2.3            BSD
       -wholename             4.2.0
       -iwholename            4.2.0
       -ignore_readdir_race   4.2.0
       -fls                   4.0
       -ilname                3.8
       -iname                 3.8
       -ipath                 3.8
       -iregex                3.8

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

KEINE FEHLER

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

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

       Dies  geschieht,  da  *.c  durch  die  Shell expandiert wurde, was dazu führt, dass find tatsächlich eine
       Befehlszeile wie diese bekommt:
       find . -name frcode.c locate.c word_io.c -print
       Der Befehl wird sicherlich nicht funktionieren. Statt dies auf diese Weise zu tun, sollten Sie die Muster
       in Anführungszeichen setzen oder den Platzhalter maskieren.
       $ find . -name '*.c' -print
       $ find . -name \*.c -print

FEHLER

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

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

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

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde  von  Chris Leick <c.leick@vollbio.de> und Mario
       Blättermann <mario.blaettermann@gmail.com> erstellt.

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

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

                                                                                                         FIND(1)