Provided by: manpages-de_0.5-4.1ubuntu1_all bug

BEZEICHNUNG

       find - sucht in einer Verzeichnishierarchie nach Dateien

SYNTAX

       find [-H] [-L] [-P] [Verzeichnis...] [Ausdruck]

BESCHREIBUNG

       Diese  Handbuchseite  beschreibt  die  GNU  Version von find.  GNU find
       durchsucht eine oder mehrere Verzeichnishierarchien und bewertet  dabei
       den  Ausdruck  von  links  nach  rechts  entsprechend  den  Regeln  der
       Priorität (siehe Abschnitt OPERATOREN) bis  das  Ergebnis  bekannt  ist
       (die  linke  Seite  ist  falsch  für  UND  Operatoren,  wahr  für  ODER
       Operatoren).  Anschließend führt find die Suche mit der nächsten  Datei
       fort.

OPTIONEN

       Die Optionen -H, -L und -P bestimmen den Umgang mit symbolischen Links.
       Darauf  folgende  Kommandozeilenparamter   müssen   die   Datei-   oder
       Verzeichnisnamen sein, die untersucht werden sollen.

       Das  erste Argument, das mit einem -, einer Klammer (, ), einem Komma ,
       oder einem Ausrufezeichen !  beginnt, wird als Anfang  eines  Ausdrucks
       interpretiert, der bestimmt, wonach gesucht wird.  Alle Argumente davor
       werden als Verzeichnisnamen angesehen.

       Wenn kein Verzeichnis angegeben  ist,  wird  das  aktuelle  Verzeichnis
       genommen.   Wenn  keine  Aktion  angegeben  ist, wird die Aktion -print
       ausgeführt (es wird stattdessen empfohlen -print0 zu 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  werden  die Informationen von dem symbolischen
              Link selbst verwendet.

       -L     Symbolischen Links folgen.  Wenn find eine Datei untersucht oder
              Informationen  über diese ausgibt, dann werden die Informationen
              von der Datei verwendet, auf die der symbolische  Link  verweist
              (es  sei  denn,  der Link ist kaputt oder find nicht in der Lage
              ist, 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   zeigen.    Wenn  -L  aktiv  ist  und  find  einen
              symbolischen Link zu einem Unterverzeichnis während seiner Suche
              findet,  wird  das  Unterverzeichnis  durchsucht,  auf  das  der
              symbolische Link zeigt.

              Wenn die Option -L in Kraft tritt, 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).   Die  Verwendung  von  -L bewirkt, dass die
              Prädikate -lname und -ilname immer logisch falsch zurückliefern.

       -H     Keinen  symbolischen  Links folgen, es sei denn die Parameter in
              der  Kommandozeile  werden  ausgewertet.   Wenn   find   Dateien
              auswertet  oder  Informationen  über  diese  ausgibt, werden die
              verwendeten Informationen vom symbolischen Link  selbst  benutzt
              werden.   Die  einzige Ausnahme dieses Verhaltens ist, wenn eine
              in der Kommandozeile 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.   Die  Informationen über den Link selbst dienen
              als Fall-Back für den Fall, dass die Datei,  auf  die  der  Link
              zeigt,  nicht  untersucht  werden  kann.   Wenn -H aktiv ist und
              einer der Pfade in der Kommandozeile ein  symbolischer  Link  zu
              einem  Verzeichnis ist, werden die Inhalte dieses Verzeichnisses
              untersucht (wobei natürlich -maxdepth 0 das verhindern kann).

AUSDRÜCKE

       Ein Ausdruck besteht aus Optionen (welche das allgemeine Verhalten  der
       Kommandos  bestimmen  und  immer  wahr zurückgeben), Tests (welche wahr
       oder  falsch  zurückgeben)  und  Aktionen  (welche  wahr  oder   falsch
       zurückgeben).   Optionen,  Tests  und  Aktionen  werden über Operatoren
       verknüpft.   Wenn  kein  Operator  explizit  angeben   ist   wird   der
       UND Operator -and verwendet.  Wenn der Ausdruck keine andere Aktion als
       -prune enthält, wird mit allen Dateien, für welche  der  Ausdruck  wahr
       ergibt, die Aktion -print durchgeführt.

   OPTIONEN
       Alle  Optionen  geben  immer logisch wahr zurück.  Mit der Ausnahme von
       -follow und -daystart haben sie immer  Auswirkungen  und  werden  nicht
       erst  dann  verarbeitet,  wenn ihre Position im Ausdruck erreicht wird.
       Daher sollten ist es für bessere Lesbarkeit besser, sie an  den  Anfang
       des  Ausdrucks  zu stellen.  Eine Warnung wird ausgegeben, wenn Sie das
       nicht machen.

       -daystart
              mißt die Zeiten für die -amin, -atime, -cmin, -ctime, -mmin  und
              -mtime Eigenschaften vom Beginn des aktuellen Tages anstelle der
              letzten 24 Stunden.  Diese Option betrifft nur  die  Tests,  die
              weiter hinten in der Kommandozeile geschrieben sind.

       -depth bearbeitet  den  Inhalt jedes Verzeichnisses vor dem Verzeichnis
              selbst.

       -follow
              Veraltet.    Verwenden   Sie   die   Option   -L    stattdessen.
              Dereferenziert symbolische Links.  Impliziert -noleaf.  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    aufgeszählt    sind,    werden
              dereferenziert,  wenn  es  sich  bei  ihnen um symbolische Links
              handelt.  Das gleiche gilt für  -anewer  und  -cnewer.   Genauso
              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 logisch falsch zurückliefern.

       -maxdepth Ebenen
              steigt  bis  zu der gegebenen Zahl von Ebenen im Verzeichnisbaum
              auf (in der Hierarchie ab); bei 0 Ebenen werden  die  Tests  nur
              auf   die   in   der   Kommandozeile   übergebenen  Dateien  und
              Verzeichnisnamen angewendet

       -mindepth Ebenen
              steigt   mindestens   die   gegebene   Zahl   von   Ebenen    im
              Verzeichnisbaum  auf  (in  der  Hierarchie  ab); bei einer Ebene
              werden  die  in  der   Kommandozeile   genannten   Dateien   und
              Verzeichnisnamen nicht bearbeitet

       -noleaf
              erzwingt     die    Bearbeitung    aller    Verzeichniseinträge;
              normalerweise  kann  davon  ausgegangen   werden,   dass   jedes
              Linuxverzeichnis  wenigstens  zwei  (harte)  Links  enthält: das
              Verzeichnis .  ist ein Link  auf  das  Verzeichnis  selbst,  und
              jedes  Unterverzeichnis enthält den Eintrag ..  als Link auf das
              Oberverzeichnis;  wenn   find   bei   der   Untersuchung   eines
              Verzeichnisses  zwei  Unterverzeichnisse weniger untersucht hat,
              als das Verzeichnis Links zählt, kann deshalb normalerweise  die
              weitere Suche beendet werden

       -version
              gibt die Versionsnummer auf die Standardfehlerausgabe

       -xdev  durchsucht  keine  Verzeichnisse  in  anderen Dateisystemen (auf
              anderen Partitionen)

   Tests
       Alle numerischen Argumente können auf drei Arten angegeben werden:

              + N    steht für alle Zahlen größer als N

              - N    steht für alle Zahlen kleiner als N

              N      steht für genau N
       Alle Tests werden auf die Dateien  in  den  angegebenen  Verzeichnissen
       einzeln  angewendet.   Die  Tests  liefern  einen  Wahrheitswert  von 0
       (Wahr), wenn der Test erfolgreich war.

       Die Tests auf  die  erweiterten  Zeitmarken  (Zugriff  und  Erstellung)
       werden  nur  in solchen Verzeichnissen korrekt behandelt, die auf einem
       der neuen Linuxdateisysteme angesiedelt sind (e2fs, xiafs, new  minix).
       Auf  den  anderen Dateisystemen wird nur das Datum der letzten Änderung
       zuverlässig getestet. Das Ergebnis der anderen Tests hängt davon ab, ob
       der  letzte Zugriff bzw. die letzte Änderung so kurz zurückliegen, dass
       die veränderte I-Node noch im Arbeitsspeicher (Cache) ist. Dann  können
       auch  für  die  Dateien  der  alten  Dateisysteme  alle drei Zeitmarken
       unterschieden werden.

       -amin N
              auf die Datei ist vor N Minuten zugegriffen worden

       -anewer Referenzdatei
              auf die Datei ist vor weniger Zeit zugegriffen worden, als  seit
              der  letzten  Veränderung  der  Referenzdatei  vergangen ist; im
              Zusammenhang mit -follow  tritt  -anewer  nur  in  Effekt,  wenn
              -follow vor -anewer in der Kommandozeile steht

       -atime N
              auf die Datei ist vor N*24 Stunden zugegriffen worden

       -cmin N
              der Status der Datei wurde vor N Minuten geändert

       -cnewer Referenzdatei
              der  Status der Datei wurde vor weniger Zeit verändert, als seit
              der  letzten  Veränderung  der  Referenzdatei   vergangen   ist;
              zusammen  mit  -follow tritt -cnewer nur in Effekt, wenn -follow
              vor -cnewer in der Kommandozeile steht

       -ctime N
              der Dateistatus wurde vor N*24 Stunden geändert

       -empty die reguläre Datei oder das Verzeichnis ist leer

       -false ist immer falsch

       -fstype Typ
              die Datei ist in einem Dateisystem vom  angegebenen  Typ;  unter
              anderem werden minix, msdos, ext und proc erkannt

       -gid N die Datei gehört der Gruppe mit der Kennzahl N

       -group Name
              die Datei gehört der Gruppe Name

       -inum IN
              die Datei belegt die Inode mit der Nummer N

       -links N
              die Datei hat N (harte) Links

       -lname Muster
              die  Datei  ist  ein  symbolischer  Link auf eine Datei oder ein
              Verzeichnis mit einem zum Muster passenden Namen

       -mmin N
              der Inhalt der Datei wurde vor N Minuten verändert

       -mtime N
              der Inhalt der Datei wurde vor N*24 Stunden verändert

       -name Muster
              der Name der Datei passt zu dem Muster

       -newer Referenzdatei
              die Datei ist später verändert  worden  als  die  Referenzdatei;
              zusammen  mit  -follow  tritt -newer nur in Effekt, wenn -follow
              vor -newer in der Kommandozeile steht

       -nouser
              die Datei gehört keinem im System eingetragenen Benutzer

       -nogroup
              die Datei gehört keiner im System angemeldeten Gruppe

       -path Muster
              der Pfadname der Datei passt zum Muster"

       -perm Modus
              die Zugriffsrechte auf die Datei entsprechen  exakt  dem  Modus;
              der   Modus  kann  als  Oktalzahl  oder  mit  den  bei  chmod(1)
              beschriebenen Kennungen beschrieben werden, die Kennungen werden
              auf Modus 000bezogen

       -perm -Modus
              (mindestens) die Zugriffsrechte für den Modus sind gesetzt

       -perm +Modus
              die  Zugriffsrechte  entsprechen  höchstens dem Modus (oder sind
              weiter eingeschränkt)

       -regex Muster
              der Pfadname passt zu dem regulären Ausdruck Muster

       -size N[bckw]
              die Datei belegt N Datenblöcke zu 512 Bytes,  bzw.  N  Bytes,  N
              2-Byte-Wörtern  und  N Kilobytes mit nachgestelltem c, w oder k.
              Nachgestelltes b entspricht der  Standardvorgabe  von  512-Byte-
              Blöcken.

       -true  ist immer wahr

       -type C
              die Datei ist vom Typ C; folgende Typen werden unterschieden:

              b      gepufferte Gerätedatei für ein blockorientiertes Gerät

              c      ungepufferte   Gerätedatei  für  ein  zeichenorientiertes
                     Gerät

              d      Verzeichnis

              p      benannte Pipeline (FiFo)

              f      normale Datei

              l      symbolischer Link

              s      Socket

       -uid N die Kennziffer des Eigentümers ist N

       -used N
              auf die Datei ist N Tage nach der letzten  Änderung  zugegriffen
              worden

       -user Name
              die Datei gehört dem Anwender Name

       -xtype C
              das  gleiche  wie -type für alle Dateien, die keine symbolischen
              Links sind; wenn die Datei ein symbolischer  Link  ist  und  die
              Option  -follow  nicht  gesetzt ist, wird die Datei, auf die der
              Link zeigt, auf den Typ  C  geprüft;  wenn  die  Option  -follow
              gesetzt ist, ist der Test wahr, wenn C = l ist

   Aktionen
       -exec Kommando;
              führt  das  Kommando aus; die Aktion ist wahr, wenn das Kommando
              einen Status  von  Null  liefert;  alle  auf  den  Kommandonamen
              folgenden   Argumente  bis  zu  einem  Semikolon  ;  werden  als
              Kommandozeilenargumente  für  das  Kommando  interpretiert;  das
              Semikolon  kann  nicht  weggelassen  werden,  und  es muss durch
              mindestens  ein  Whitespace  von  der  letzten  Option  getrennt
              werden;  die  Konstruktion {} wird durch den Pfadnamen der Datei
              ersetzt;  die  Klammern  und  das  Semikolon   müssen   in   der
              Kommandozeile  für find quotiert werden, damit sie nicht von der
              Shell bearbeitet werden

       -fprint Ausgabedatei
              schreibt den Pfadnamen der getesteten Datei in die Ausgabedatei;
              wenn  die  Ausgabedatei nicht existiert, wird sie erzeugt, sonst
              wird   sie    erweitert;    die    Standardausgabe    und    die
              Standardfehlerausgabe  werden  als  /dev/stdout  und /dev/stderr
              angesprochen

       -fprint0 Ausgabedatei
              schreibt den Namen der getesteten Datei in die Ausgabedatei  und
              schließt die Ausgabe mit einem Nullbyte ab, wie -print0

       -fprintf Ausgabedatei Format
              schreibt  den Namen der getesteten Datei in die Ausgabedatei und
              benutzt dabei das Format mit Sonderzeichen wie bei printf

       -ok Kommando;
              wie -exec, vor der Ausführung des Kommandos wird aber noch  eine
              Bestätigung  erwartet;  nur  eine  Eingabe, die mit einem B oder
              einem y beginnt, führt zur Ausführung des Kommandos

       -print gibt den vollständigen Pfadnamen der getesteten  Datei  auf  die
              Standardausgabe

       -print0
              gibt  den  Pfadnamen  der  getesteten  Datei, von einem Nullbyte
              abgeschlossen, auf die Standardausgabe; auf diese  Weise  können
              auch   Pfadnamen   korrekt  weiterverarbeitet  werden,  die  ein
              Zeilenende enthalten

       -printf Format
              gibt für die getestete Datei die  Zeichenkette  Format  auf  der
              Standardausgabe  aus; Format kann verschiedene Sonderzeichen und
              Platzhalter enthalten, die von find bearbeitet werden:

              \a     Alarmton

              \b     Rückschritt

              \c     Abbruch der Ausgabe

              \f     Seitenvorschub

              \n     Zeilenvorschub

              \r     Wagenrücklauf

              \t     horizontaler Tabulator

              \v     vertikaler Tabulator

              \\     der Backslash selbst

       ein Backspace gefolgt von irgendeinem anderen Zeichen wird als normales
       Zeichen interpretiert und einfach ausgegeben

              %%     das Prozentzeichen selbst

              %a     die  Zeit  des  letzten  Zugriffs  auf  die Datei, in dem
                     Format der ctime Funktion

              %A k   die Zeit des letzten Zugriffs auf die Datei, in dem von k
                     bestimmte  Format; k hat dabei das gleiche Format wie der
                     entsprechende Parameter der strftime Funktion in C:

                      @      Sekunden seit dem 1.1.1970 0 Uhr GMT

                      H      Stunde (00 bis 23)

                      I      Stunde (01 bis 12)

                      k      Stunde (0 bis 23)

                      l      Stunde (1 bis 12)

                      M      Minute (00 bis 59)

                      p      PM oder AM

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

                      S      Sekunden (00 bis 61)

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

                      X      Zeit (H:M:S)

                      Z      Zeitzone, oder nichts

                      a      abgekürzter Wochentag

                      A      ausgeschriebener Wochentag

                      b      abgekürzter Monatsname

                      B      ausgeschriebener Monatsname

                      c      Datum und Zeit

                      d      Tag im Monat

                      D      Datum (mm/dd/yy)

                      h      das gleiche wie b

                      j      der Tag im Jahr

                      m      die Zahl des Monats

                      U      die  Nummer  der  Woche,   Sonntag   als   erster
                             Wochentag

                      w      die Zahl des Wochentags

                      W      die Nummer der Woche, Montag als erster Wochentag

                      x      Datum (mm/dd/yy)

                      y      die letzten beiden Stellen der Jahreszahl

                      Y      die Jahreszahl

              %b     die Dateigröße in 512 Byte Blöcken (aufgerundet)

              %c     das Datum der letzten  Statusänderung  im  Format  der  C
                     ctime Funktion

              %Ck    das  Datum  der  letzten  Statusänderung im Format der BR
                     strftime " Funktion; Parameter wie oben"

              %d     die Höhe der Datei  im  Verzeichnisbaum;  Null  bedeutet,
                     dass die Datei Kommandozeilenargument ist

              %f     der Name der getesteten Datei, ohne Verzeichnisse

              %g     der  Gruppenname  der getesteten Datei oder die Kennzahl,
                     wenn die Gruppe nicht eingetragen ist

              %G     die Gruppenkennzahl

              %h     die Verzeichnisnamen des Pfadnamen der getesteten Datei

              %H     das Kommandozeilenargument  (Test),  mit  dem  die  Datei
                     gefunden wurde

              %i     die Nummer der Inode der getesteten Datei

              %k     die aufgerundete Größe der getesteten Datei in Kilobytes

              %l     das  Objekt,  auf  die ein symbolischer Link zeigt; leer,
                     wenn die getestete Datei kein symbolischer Link ist

              %m     die Zugriffsrechte als Oktalzahl

              %n     die Anzahl der harten Links auf die getestete Datei

              %p     der Pfadname der Datei

              %P     der Pfadname und das Kommandozeilenargument  (Test),  mit
                     dem die Datei gefunden wurde

              %s     die Größe der getesteten Datei in Bytes

              %t     die Zeit der letzten Änderung, im ctime Format

              %Tk    die  Zeit der letzten Änderung, im strftime Format (siehe
                     oben)

              %u     der Name des Eigentümers der getesteten  Datei  oder  die
                     Kennzahl, wenn der Benutzer nicht eingetragen ist

              %U     die Benutzerkennzahl des Eigentümers der getesteten Datei

       -prune wahr, wenn die Option -depth nicht angegeben ist; sonst  falsch.
              Wenn  die  Datei  ein  Verzeichnis  ist,  wird  nicht  in dieses
              hinabgestiegen.
              falsch,  wenn  die  Option  -depth  angegeben  ist,  hat   keine
              Auswirkungen.

       -ls    zeigt  das Verzeichnis in dem die getestete Datei gefunden wurde
              mit ls -dils an

   Operatoren
       Die Optionen,  Tests  und  Aktionen  können  mit  Operatoren  verknüpft
       werden. Die Bearbeitung erfolgt prinzipiell von links nach rechts.

       ( Ausdruck )
              die Klammern fassen den Ausdruck zu einer Operation zusammen

       ! Ausdruck
              ist wahr, wenn der Ausdruck falsch ist

       -not Ausdruck
              ist ebenfalls wahr, wenn der Ausdruck falsch ist

       Ausdruck1 Ausdruck2
              UND   Verknüpfung;  wenn  Ausdruck1  wahr  ist,  wird  Ausdruck2
              bewertet (ausgeführt)

       Ausdruck1 -a Ausdruck2
              auch eine UND Verknüpfung

       Ausdruck1 -and Ausdruck2
              auch eine UND Verknüpfung

       Ausdruck1 -o Ausdruck2
              ODER Verknüpfung; Ausdruck2  wird  bewertet  (ausgeführt),  wenn
              Ausdruck1 falsch ist

       Ausdruck1 -or Ausdruck2
              auch eine ODER Verknüpfung

       Ausdruck1 , Ausdruck2
              Liste;  beide  Ausdrücke werden immer bewertet (ausgeführt); der
              Wahrheitswert  des  gesamten  Ausdrucks   entspricht   dem   von
              Ausdruck2

BEISPIELE

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

       Finde  Dateien  mit dem Namen core in oder unterhalb des Verzeichnisses
       /tmp und lösche diese.  Achtung, diese Aktion schlägt  fehl  falls  die
       Dateinamen  Zeilenvorschübe,  einfache  oder doppelte Anführungszeichen
       oder Leerzeichen enthalten.

EXIT STATUS

       Der Status von find ist Null, wenn alle Aktionen erfolgreich waren,  im
       Fehlerfall ist der Status größer als Null.

SIEHE AUCH

       das   LunetIX   Linuxhandbuch,   locate(1),  locatedb(5),  updatedb(1),
       xargs(1), fnmatch(3), regex(7), stat(2),  lstat(2),  ls(1),  printf(3),
       strftime(3),  ctime(3),  Finding  Files  (on-line im Info-Dokument oder
       gedruckt),

HISTORY

       Seit findutils-4.2.2 stimmen Shell-Metazeichen (’*’. ’?’ oder ’[]’  zum
       Beispiel),  die  in  Muster  für  Dateinamen  verwendet  werden,  einen
       führenden ’.’, denn die Interpretation 126  von  IEEE  POSIX  erfordert
       dieses.

AUTOREN

       Eric Decker, David MacKenzie, Jay Plett und Tim Wood