EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

finden - Online in der Cloud

Führen Sie find im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl find, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


find – Suche nach Dateien in einer Verzeichnishierarchie

ZUSAMMENFASSUNG


gefunden [-H] [-L] [-P] [-D debugopts] [-Olevel] [Startpunkt...] [Ausdruck]

BESCHREIBUNG


Diese Handbuchseite dokumentiert die GNU-Version von gefunden. GNU gefunden durchsucht den Verzeichnisbaum
an jedem gegebenen Ausgangspunkt verwurzelt, indem der gegebene Ausdruck von links nach rechts ausgewertet wird,
gemäß den Rangfolgeregeln (siehe Abschnitt OPERATOREN), bis das Ergebnis bekannt ist
(Die linke Seite ist falsch für und Operationen, wahr für or), an welchem ​​Punkt gefunden bewegt sich
Weiter zum nächsten Dateinamen. Wenn kein Startpunkt angegeben ist, wird „.“ wird angenommen.

Wenn Sie gefunden in einer Umgebung, in der Sicherheit wichtig ist (z. B. wenn Sie
verwenden, um Verzeichnisse zu durchsuchen, die von anderen Benutzern beschreibbar sind), sollten Sie die lesen
Kapitel „Sicherheitsüberlegungen“ der Findutils-Dokumentation, das aufgerufen wird Erkenntnis
Mappen und kommt mit Findutils. Dieses Dokument enthält auch viel mehr Details und
Diskussion als diese Handbuchseite, daher ist sie möglicherweise eine nützlichere Informationsquelle.

OPTIONAL


Das -H, -L und -P Optionen steuern die Behandlung symbolischer Links. Kommandozeilenargumente
Im Folgenden werden die Namen der zu untersuchenden Dateien oder Verzeichnisse verstanden, bis zu
erstes Argument, das mit „-“ beginnt, oder das Argument „(“ oder „!“. Dieses Argument und alle
Die folgenden Argumente gelten als Ausdruck, der beschreibt, wonach gesucht werden soll.
Werden keine Pfade angegeben, wird das aktuelle Verzeichnis verwendet. Wenn kein Ausdruck angegeben ist, wird der
Ausdruck -drucken wird verwendet (aber Sie sollten wahrscheinlich darüber nachdenken, es zu verwenden -print0 stattdessen,
sowieso).

Auf dieser Handbuchseite geht es um „Optionen“ innerhalb der Ausdrucksliste. Diese Optionen steuern
das Verhalten von gefunden werden aber unmittelbar nach dem letzten Pfadnamen angegeben. Die Fünf
„echte“ Optionen -H, -L, -P, -D und -O muss, wenn überhaupt, vor dem ersten Pfadnamen stehen. A
Doppelstrich -- kann auch verwendet werden, um zu signalisieren, dass alle verbleibenden Argumente keine Optionen sind
(Obwohl es im Allgemeinen sicherer ist, sicherzustellen, dass alle Startpunkte entweder mit „./“ oder „/“ beginnen, wenn
Sie verwenden Platzhalter in der Liste der Startpunkte).

-P Folgen Sie niemals symbolischen Links. Dies ist das Standardverhalten. Wann gefunden untersucht bzw
Gibt die Informationen einer Datei aus, und die Datei ist ein symbolischer Link, der die verwendeten Informationen enthält
sind den Eigenschaften des symbolischen Links selbst zu entnehmen.

-L Symbolischen Links folgen. Wann gefunden untersucht oder druckt Informationen über Dateien, die
Die verwendeten Informationen müssen den Eigenschaften der Datei entnommen werden, auf die der Link verweist
Punkte, nicht vom Link selbst (es sei denn, es handelt sich um einen defekten symbolischen Link oder gefunden is
Die Datei, auf die der Link verweist, kann nicht untersucht werden. Die Verwendung dieser Option impliziert
-Noleaf. Wenn Sie später die verwenden -P Option, -Noleaf wird weiterhin in Kraft sein. Wenn -L
ist in Kraft und gefunden entdeckt während seiner Ausführung einen symbolischen Link zu einem Unterverzeichnis
Suche wird das Unterverzeichnis durchsucht, auf das der symbolische Link verweist.

Wenn das -L Option ist in Kraft, die -Art Prädikat wird immer mit dem übereinstimmen
Typ der Datei, auf die ein symbolischer Link verweist, und nicht der Link selbst (es sei denn
der symbolische Link ist unterbrochen). Aktionen, die dazu führen können, dass symbolische Links entstehen
kaputt während gefunden ausführt (z.B -löschen) kann zu Verwirrung führen
Verhalten. Benutzen -L verursacht die -lname und -ilname Prädikate kehren immer zurück
falsch

-H Folgen Sie keinen symbolischen Links, außer während der Verarbeitung der Befehlszeilenargumente.
Wann gefunden prüft oder druckt Informationen über Dateien, die verwendeten Informationen sollen sein
aus den Eigenschaften des symbolischen Links selbst entnommen. Die einzige Ausnahme hiervon
Verhalten liegt vor, wenn eine in der Befehlszeile angegebene Datei ein symbolischer Link ist und die
Link kann gelöst werden. Für diesen Fall werden die verwendeten Informationen entnommen
worauf auch immer der Link verweist (d. h., dem Link wird gefolgt). Die Informationen über
Der Link selbst wird als Fallback verwendet, wenn die Datei, auf die der symbolische Link verweist
kann nicht untersucht werden. Wenn -H ist in Kraft und einer der auf dem angegebenen Pfade
Befehlszeile ist ein symbolischer Link zu einem Verzeichnis, der Inhalt dieses Verzeichnisses wird angezeigt
untersucht werden (obwohl -max Depth 0 dies natürlich verhindern würde).

Wenn mehr als einer von -H, -L und -P angegeben wird, überschreibt jeder den anderen; der Letzte
Das Erscheinen in der Befehlszeile wird wirksam. Da es sich um die Standardeinstellung handelt, ist die -P Option sollte
gelten als in Kraft, es sei denn, eines der beiden gilt -H or -L angegeben.

GNU gefunden Stats-Dateien werden häufig während der Verarbeitung der Befehlszeile selbst angezeigt
Die Suche hat begonnen. Diese Optionen wirken sich auch darauf aus, wie diese Argumente verarbeitet werden.
Insbesondere gibt es eine Reihe von Tests, die in der Befehlszeile aufgelistete Dateien vergleichen
gegen eine Datei, die wir derzeit prüfen. Dabei handelt es sich jeweils um die auf der Datei angegebene Datei
Die Befehlszeile wurde überprüft und einige ihrer Eigenschaften wurden gespeichert. Wenn
Die benannte Datei ist tatsächlich ein symbolischer Link, und die -P Option wirksam ist (oder falls keine der beiden Optionen wirksam ist).
-H noch -L angegeben wurden), werden die für den Vergleich verwendeten Informationen dem entnommen
Eigenschaften des symbolischen Links. Andernfalls wird es aus den Eigenschaften des übernommen
Datei, auf die der Link verweist. Wenn gefunden Sie können dem Link nicht folgen (z. B. weil dies der Fall ist).
unzureichende Berechtigungen oder der Link verweist auf eine nicht vorhandene Datei) die Eigenschaften der
Der Link selbst wird verwendet.

Wenn das -H or -L Optionen sind in bewirken, jedem symbolisch Links gelistet als Argument von
-neuer wird dereferenziert und der Zeitstempel wird aus der Datei übernommen, in die der
symbolische Verbindungspunkte. Die gleiche Überlegung gilt für -neuerXY, -neuer und -neuer.

Das -Folgen Option hat einen ähnlichen Effekt wie -L, obwohl es an dem Punkt wirksam wird, an dem
es erscheint (das heißt, wenn -L wird aber nicht verwendet -Folgen Das heißt, alle symbolischen Links, die danach erscheinen
-Folgen in der Befehlszeile werden dereferenziert, diejenigen davor nicht).

-D Debugoptionen
Diagnoseinformationen drucken; Dies kann hilfreich sein, um Probleme mit dem Warum zu diagnostizieren
gefunden tut nicht, was Sie wollen. Die Liste der Debug-Optionen sollte ein Komma sein
getrennt. Die Kompatibilität der Debug-Optionen zwischen den Versionen kann nicht garantiert werden
von findutils. Eine vollständige Liste der gültigen Debug-Optionen finden Sie in der Ausgabe von gefunden
-D Hilfe. Zu den gültigen Debug-Optionen gehören:

help Erklären Sie die Debugging-Optionen

Baum Zeigt den Ausdrucksbaum in seiner ursprünglichen und optimierten Form.

stat Gibt Meldungen aus, während Dateien mit dem untersucht werden Zustand und lstat Systemaufrufe.
Das gefunden Das Programm versucht, solche Aufrufe zu minimieren.

opt Druckt Diagnoseinformationen zur Optimierung des Ausdrucks
Baum; siehe die Option -O.

rate Druckt eine Zusammenfassung, die angibt, wie oft jedes Prädikat erfolgreich war oder fehlgeschlagen ist.

-O-Level; O-Ebene
Ermöglicht die Abfrageoptimierung. Der gefunden Das Programm ordnet Tests neu an, um die Ausführung zu beschleunigen
unter Beibehaltung der Gesamtwirkung; das heißt, Prädikate mit Nebenwirkungen sind nicht vorhanden
relativ zueinander neu angeordnet. Die bei jeder Optimierung durchgeführten Optimierungen
Level sind wie folgt.

0 Entspricht Optimierungsstufe 1.

1 Dies ist die Standardoptimierungsstufe und entspricht der herkömmlichen
Verhalten. Ausdrücke werden neu angeordnet, sodass Tests nur auf den Namen basieren
von Dateien (z.B -Name und -Regex) werden zuerst durchgeführt.

2 Beliebig -Art or -xtype Tests werden nach allen Tests durchgeführt, die nur auf dem basieren
Namen von Dateien, jedoch vor allen Tests, die Informationen aus dem erfordern
Inode. In vielen modernen Unix-Versionen werden Dateitypen von zurückgegeben
readdir () Daher sind diese Prädikate schneller auszuwerten als Prädikate
die zuerst die Datei angeben müssen. Wenn Sie die verwenden -fstype FOO Prädikat und
Geben Sie einen Dateisystemtyp an FOO was nicht bekannt ist (d. h. vorhanden in
`/ etc / mtab') zu der Zeit gefunden beginnt, dieses Prädikat ist äquivalent zu
-falsch.

3 Auf dieser Optimierungsstufe ist der vollständige kostenbasierte Abfrageoptimierer aktiviert.
Die Reihenfolge der Tests wird so geändert, dass kostengünstige (dh schnelle) Tests durchgeführt werden
Erstere und teurere werden bei Bedarf später durchgeführt. Innerhalb
In jedem Kostenbereich werden die Prädikate entsprechend früher oder später ausgewertet
ob sie Erfolg haben werden oder nicht. Für -o, Prädikate, die sind
Wahrscheinlichkeit, erfolgreich zu sein, werden früher bewertet, und zwar für -a, Prädikate, die sind
Wahrscheinlichkeit eines Scheiterns wird früher bewertet.

Der kostenbasierte Optimierer hat eine feste Vorstellung davon, wie wahrscheinlich ein bestimmter Test ist
gelingen. In manchen Fällen berücksichtigt die Wahrscheinlichkeit die spezifische Natur der Sache
testen (z.B. -Art f Es wird davon ausgegangen, dass die Erfolgswahrscheinlichkeit größer ist als -Art c).
Der kostenbasierte Optimierer wird derzeit evaluiert. Wenn das nicht der Fall ist
verbessern die Leistung von gefunden, wird es wieder entfernt. Umgekehrt,
Optimierungen, die sich als zuverlässig, robust und effektiv erweisen, können ermöglicht werden
geringere Optimierungsgrade im Laufe der Zeit. Das Standardverhalten (d. h
Optimierungsstufe 1) wird in der 4.3.x-Releaseserie nicht geändert. Der
Die Findutils-Testsuite führt alle Tests aus gefunden auf jeder Optimierungsebene 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 Art Abfragespezifikation, die beschreibt, wie wir Dateien abgleichen und was wir mit den Dateien machen
die gematcht wurden. Ein Ausdruck besteht aus einer Folge von Dingen:

Tests Tests geben einen wahren oder falschen Wert zurück, normalerweise auf der Grundlage einer Eigenschaft einer Datei
wir überlegen. Der -leer test zum Beispiel ist nur wahr, wenn die aktuelle Datei
ist leer.

Aktionen
Aktionen haben Nebenwirkungen (z. B. das Drucken von etwas auf der Standardausgabe) und
geben entweder wahr oder falsch zurück, normalerweise basierend darauf, ob sie erfolgreich sind oder nicht.
Das -drucken Diese Aktion gibt beispielsweise den Namen der aktuellen Datei im Standard aus
Ausgabe.

Globale Optionen
Globale Optionen wirken sich auf die Ausführung von Tests und Aktionen aus, die in einem beliebigen Teil von angegeben sind
die Befehlszeile. Globale Optionen geben immer true zurück. Der -Tiefe Option für
Beispiel macht gefunden Durchsuchen Sie das Dateisystem in der Reihenfolge „Tiefe zuerst“.

Positionsoptionen
Positionsoptionen wirken sich nur auf Tests oder Aktionen aus, die ihnen folgen. Positionsbezogen
Optionen geben immer true zurück. Der -regextype Option ist zum Beispiel positionell,
Angabe des regulären Ausdrucksdialekts für später auftretende reguläre Ausdrücke
in der Kommandozeile.

Betreiber
Operatoren verbinden die anderen Elemente innerhalb des Ausdrucks. Dazu gehören z
Beispiel -o (bedeutet logisches ODER) und -a (bedeutet logisches UND). Wo sich ein Operator befindet
fehlen, -a wird angenommen.

Wenn der gesamte Ausdruck keine anderen Aktionen enthält als -Pflaume or -drucken, -drucken is
wird für alle Dateien durchgeführt, für die der gesamte Ausdruck wahr ist.

Das -löschen Aktion verhält sich auch wie eine Option (da sie impliziert). -Tiefe).

POSITIONAL OPTIONAL
Positionsoptionen geben immer true zurück. Sie betreffen nur Tests, die später durchgeführt werden
Befehlszeile.

-Tagesanfang
Zeiten messen (z -Amen, -eine Zeit, -cmin, -ctime, -mm und -Mtime) Aus dem
Anfang von heute statt von vor 24 Stunden. Diese Option betrifft nur Tests
die später in der Befehlszeile erscheinen.

-Folgen
Veraltet; benutze die -L Option stattdessen. Symbolische Links dereferenzieren. Impliziert
-Noleafdem „Vermischten Geschmack“. Seine -Folgen Die Option wirkt sich nur auf die Tests aus, die danach auf der angezeigt werden
Befehlszeile. Es sei denn, die -H or -L Option angegeben wurde, wird die Position der
-Folgen Option ändert das Verhalten des -neuer Prädikat; alle Dateien, die als aufgeführt sind
das Argument von -neuer werden dereferenziert, wenn es sich um symbolische Links handelt. Das gleiche
Gegenleistung gilt -neuerXY, -neuer und -neuer. Ähnlich, die -Art
Das Prädikat wird immer mit dem Typ der Datei abgeglichen, die ein symbolischer Link ist
verweist auf und nicht auf den Link selbst. Benutzen -Folgen verursacht die -lname und -ilname
Prädikate geben immer false zurück.

-regextype tippe
Ändert die Syntax regulärer Ausdrücke, die von verstanden wird -Regex und -iregex testet welche
später in der Befehlszeile auftreten. Um zu sehen, welche regulären Ausdruckstypen bekannt sind,
- -regextype Hilfe. Die Texinfo-Dokumentation (siehe SEHEN AUCH) erklärt die Bedeutung
und Unterschiede zwischen den verschiedenen Arten regulärer Ausdrücke.

-warnen, -nowarnen
Schalten Sie Warnmeldungen ein oder aus. Diese Warnungen gelten nur für die Befehlszeile
Nutzung, nicht zu irgendwelchen Bedingungen, die gefunden könnte bei der Suche auf sie stoßen
Verzeichnisse. Das Standardverhalten entspricht -warnen wenn die Standardeingabe a ist
tty, und zu -nunwarn ansonsten. Wenn eine Warnmeldung bezüglich der Verwendung der Befehlszeile angezeigt wird
erzeugt wird, der Exit-Status von gefunden ist nicht betroffen. Wenn POSIXLY_CORRECT
Umgebungsvariable gesetzt ist, und -warnen is ebenfalls benutzt, it is nicht angegeben was, if
irgendein, Warnungen werden wir be aktiv.

GLOBAL OPTIONAL
Globale Optionen geben immer true zurück. Globale Optionen wirken sich auch auf auftretende Tests aus
früher in der Befehlszeile. Um Verwirrung zu vermeiden, sollten globale Optionen angegeben werden
Befehlszeile nach der Liste der Startpunkte, direkt vor dem ersten Test, Positionsoption
oder Aktion. Wenn Sie an einer anderen Stelle eine globale Option angeben, gefunden wird eine Warnung ausgeben
Nachricht, die erklärt, dass dies verwirrend sein kann.

Die globalen Optionen stehen nach der Liste der Startpunkte und sind daher nicht identisch
Option als -L, beispielsweise.

-d Ein Synonym für - Depth, für Kompatibilität mit FreeBSD, NetBSD, MacOS X und OpenBSD.

- Depth Verarbeitet den Inhalt jedes Verzeichnisses vor dem Verzeichnis selbst. Die Aktion -delete
impliziert auch -Tiefe.

-Hilfe Hilfe
Drucken Sie eine Zusammenfassung der Befehlszeilenverwendung von gefunden und verlassen.

-ignore_readdir_race
Normalerweise gefunden gibt eine Fehlermeldung aus, wenn das Erstellen einer Datei fehlschlägt. Wenn du
Geben Sie diese Option an und eine Datei wird zwischenzeitlich gelöscht gefunden liest den Namen des
Datei aus dem Verzeichnis und die Zeit, zu der versucht wird, die Datei zu starten, keine Fehlermeldung
wird ausgegeben werden. Dies gilt auch für Dateien oder Verzeichnisse, deren Namen angegeben sind
auf der Kommandozeile. Diese Option wird zum Zeitpunkt der Eingabe der Befehlszeile wirksam
lesen, was bedeutet, dass Sie damit nicht einen Teil des Dateisystems durchsuchen können
Option aktiviert und einen Teil davon mit deaktivierter Option (wenn Sie dies tun müssen, werden Sie dies tun).
müssen zwei ausstellen gefunden Stattdessen gibt es Befehle, einen mit der Option und einen ohne.

-maximale Tiefe Cholesterinspiegel
Höchstens absteigen Cholesterinspiegel (eine nicht negative Ganzzahl) Ebenen von Verzeichnissen unterhalb der
Ausgangspunkte. -maximale Tiefe 0
bedeutet, dass die Tests und Aktionen nur auf die Ausgangspunkte selbst angewendet werden.

-Mindesttiefe Cholesterinspiegel
Führen Sie keine Tests oder Aktionen bei Werten unter durch Cholesterinspiegel (ein nicht negatives
ganze Zahl). -Mindesttiefe 1 bedeutet, alle Dateien außer den Startpunkten zu verarbeiten.

-mount Verzeichnisse auf anderen Dateisystemen nicht absteigen. Ein alternativer Name für -xdevZ.
Kompatibilität mit einigen anderen Versionen von gefunden.

-noignore_readdir_race
Schaltet den Effekt von aus -ignore_readdir_race.

-Noleaf
Führen Sie keine Optimierung durch, indem Sie davon ausgehen, dass Verzeichnisse zwei Unterverzeichnisse weniger enthalten als
ihre Hardlink-Anzahl. Diese Option wird benötigt, wenn nach Dateisystemen gesucht wird, die dies tun
nicht der Unix-Verzeichnisverknüpfungskonvention folgen, z. B. CD-ROM- oder MS-DOS-Dateisysteme
oder AFS-Volume-Bereitstellungspunkte. Jedes Verzeichnis in einem normalen Unix-Dateisystem hat at
mindestens 2 feste Links: sein Name und sein „.“ Eintrag. Zusätzlich seine Unterverzeichnisse
(falls vorhanden) haben jeweils einen „..“-Eintrag, der mit diesem Verzeichnis verknüpft ist. Wann gefunden untersucht a
Verzeichnis, nachdem es 2 Unterverzeichnisse weniger als der Link des Verzeichnisses erstellt hat
count weiß es, dass es sich bei den restlichen Einträgen im Verzeichnis um Nicht-Verzeichnisse handelt
(„Blatt“-Dateien im Verzeichnisbaum). Wenn nur die Namen der Dateien sein müssen
geprüft, es besteht keine Notwendigkeit, sie anzugeben; Dies führt zu einer deutlichen Steigerung
Suchgeschwindigkeit.

-version, --version
drucken Sie die gefunden Versionsnummer und beenden.

-xdev Verzeichnisse auf anderen Dateisystemen nicht absteigen.

TESTS
Einige Tests zum Beispiel -neuerXY und -samefile, ermöglicht den Vergleich zwischen den Dateien
derzeit untersucht und eine Referenzdatei in der Befehlszeile angegeben. Wann
Werden diese Tests verwendet, wird die Interpretation der Referenzdatei durch die bestimmt
Optionen -H, -L und -P und alle vorherigen -Folgen, aber die Referenzdatei wird nur untersucht
einmal, zum Zeitpunkt der Analyse der Befehlszeile. Wenn die Referenzdatei nicht eingesehen werden kann
(zum Beispiel die Zustand(2) Der Systemaufruf schlägt fehl), eine Fehlermeldung wird ausgegeben und gefunden
wird mit einem Status ungleich Null beendet.

Numerische Argumente können angegeben werden als

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

-n für weniger als n,

n für genau n.

-Amen n
Auf die Datei wurde zuletzt zugegriffen n Vor ein paar Minuten.

-neuer Datei
Der letzte Zugriff auf die Datei ist jünger als Datei wurde modifiziert. Wenn Datei ist eine symbolische
Link und die -H Option oder die -L Wenn die Option aktiviert ist, wird die Zugriffszeit der Datei festgelegt
es zeigt auf wird immer verwendet.

-eine Zeit n
Auf die Datei wurde zuletzt zugegriffen n*Vor 24 Stunden. Wann finden Sie heraus, wie viele 24-Stunden
Zeiträume vor dem letzten Zugriff auf die Datei werden alle Bruchteile ignoriert, um eine Übereinstimmung zu gewährleisten
-eine Zeit +1, muss mindestens auf eine Datei zugegriffen worden sein XNUMX Vor Tagen.

-cmin n
Der Status der Datei wurde zuletzt geändert n Vor ein paar Minuten.

-neuer Datei
Der Status der Datei wurde zuletzt vor weniger als geändert Datei wurde modifiziert. Wenn Datei ist eine
symbolischer Link und der -H Option oder die -L Ist die Option in Kraft, ändert sich der Status
Es wird immer die Uhrzeit der Datei verwendet, auf die es verweist.

-ctime n
Der Status der Datei wurde zuletzt geändert n*Vor 24 Stunden. Siehe die Kommentare für -eine Zeit zu
Verstehen Sie, wie sich Rundungen auf die Interpretation von Dateistatusänderungszeiten auswirken.

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

-ausführbar
Entspricht ausführbaren Dateien und durchsuchbaren Verzeichnissen (in einer Datei).
Sinn der Namensauflösung). Dies berücksichtigt Zugriffskontrolllisten und andere
Berechtigungsartefakte, die die -Dauerwelle Test ignoriert. Dieser Test nutzt die
Zugang(2) Systemaufruf und kann daher von NFS-Servern getäuscht werden, die eine UID-Zuordnung durchführen (bzw
Root-Squashing), da viele Systeme implementieren Zugang(2) im Kernel des Clients und
kann daher die auf dem Server gespeicherten UID-Zuordnungsinformationen nicht nutzen. Weil das
Der Test basiert nur auf dem Ergebnis des Zugang(2) Systemaufruf, es gibt keinen
garantieren, dass eine Datei, für die dieser Test erfolgreich ist, tatsächlich ausgeführt werden kann.

-false Immer falsch.

-fstype tippe
Die Datei befindet sich in einem Dateisystem des Typs tippe. Die gültigen Dateisystemtypen sind unterschiedlich
verschiedene Unix-Versionen; eine unvollständige Liste der Dateisystemtypen, die es gibt
Auf der einen oder anderen Unix-Version wird Folgendes akzeptiert: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K,
S52K. Sie können verwenden -printf mit der %F-Direktive, um die Typen Ihrer Datei anzuzeigen
Dateisysteme.

-gid n Die numerische Gruppen-ID der Datei lautet n.

-Gruppe Name
Datei gehört zur Gruppe Name (numerische Gruppen-ID zulässig).

-ilname Anleitungen
Like -lname, aber bei der Übereinstimmung wird die Groß-/Kleinschreibung nicht beachtet. Wenn die -L Option oder die -Folgen
Wenn die Option aktiv ist, gibt dieser Test „false“ zurück, es sei denn, der symbolische Link ist unterbrochen.

-sich verbeugen Anleitungen
Like -Name, aber bei der Übereinstimmung wird die Groß-/Kleinschreibung nicht beachtet. Zum Beispiel die Muster „fo*“ und
„F??“ Übereinstimmung mit den Dateinamen „Foo“, „FOO“, „foo“, „fOo“ usw. Das Muster „*foo*“.
wird auch mit einer Datei namens „.foobar“ übereinstimmen.

-inum n
Die Datei hat eine Inode-Nummer n. Normalerweise ist es einfacher, das zu verwenden -samefile Testen Sie stattdessen.

-ipath Anleitungen
Like -Pfad. Bei der Übereinstimmung wird die Groß-/Kleinschreibung jedoch nicht beachtet.

-iregex Anleitungen
Like -Regex, aber bei der Übereinstimmung wird die Groß-/Kleinschreibung nicht beachtet.

-iwholename Anleitungen
Siehe -ipath. Diese Alternative ist weniger portabel als -ipath.

-Links n
Datei hat n Links.

-lname Anleitungen
Datei ist ein symbolischer Link, dessen Inhalt dem Shell-Muster entspricht Anleitungendem „Vermischten Geschmack“. Seine
Metazeichen behandeln weder „/“ noch „.“ speziell. Wenn die -L Option oder die -Folgen
Wenn die Option aktiv ist, gibt dieser Test „false“ zurück, es sei denn, der symbolische Link ist unterbrochen.

-mm n
Die Daten der Datei wurden zuletzt geändert n Vor ein paar Minuten.

-Mtime n
Die Daten der Datei wurden zuletzt geändert n*Vor 24 Stunden. Siehe die Kommentare für -eine Zeit zu
Verstehen Sie, wie sich Rundungen auf die Interpretation von Dateiänderungszeiten auswirken.

-Name Anleitungen
Basis des Dateinamens (der Pfad mit entfernten führenden Verzeichnissen) stimmt mit Shell überein
Anleitungen Anleitungen. Da die führenden Verzeichnisse entfernt werden, ändern sich die Dateinamen
für ein Match mit in Betracht gezogen -Name wird niemals einen Schrägstrich enthalten, also wird „-name a/b“ einen Schrägstrich enthalten
stimmt nie mit irgendetwas überein (Sie müssen wahrscheinlich verwenden -Pfad stattdessen). Es erfolgt eine Warnung
wenn Sie dies versuchen, es sei denn, die Umgebungsvariable POSIXLY_CORRECT ist gesetzt. Der
Metazeichen („*“, „?“ und „[]“) stimmen mit einem „.“ überein. am Anfang des Basisnamens (this
ist eine Änderung in findutils-4.2.2; siehe Abschnitt STANDARDKONFORMITÄT unten). Zu
Ignorieren Sie ein Verzeichnis und die Dateien darunter, verwenden Sie -Pflaume; siehe ein Beispiel im
Beschreibung von -Pfad. Dennoch gelten Zahnspangen nicht als etwas Besonderes
dass einige Shells, einschließlich Bash, Klammern in der Shell eine besondere Bedeutung verleihen
Muster. Der Dateinamensabgleich erfolgt mithilfe von fnmatch(3)
Bibliotheksfunktion. Vergessen Sie nicht, das Muster in Anführungszeichen zu setzen
Schützen Sie es vor einer Ausdehnung durch die Schale.

-neuer Datei
Die Datei wurde vor Kurzem geändert Datei. Wenn Datei ist ein symbolischer Link und der -H
Option oder die -L Wenn die Option aktiv ist, wird die Änderungszeit der Datei angezeigt, auf die sie verweist
to wird immer verwendet.

-neuerXY Referenz
Erfolgreich, wenn Zeitstempel X der betrachteten Datei ist neuer als der Zeitstempel Y of
die Datei Referenz. Die Buchstaben X und Y kann einer der folgenden Buchstaben sein:

a Die Zugriffszeit der Datei Referenz
B Die Geburtszeit der Datei Referenz
c Die Inode-Statusänderungszeit von Referenz

m Die Änderungszeit der Datei Referenz
t Referenz wird direkt als Zeit interpretiert

Einige Kombinationen sind ungültig; Es ist beispielsweise ungültig für X sein t. Etwas
Kombinationen sind nicht auf allen Systemen implementiert; Zum Beispiel B wird nicht unterstützt
alle Systeme. Wenn eine ungültige oder nicht unterstützte Kombination von XY angegeben ist, ein fataler
Fehlerergebnisse. Zeitangaben werden wie beim Argument zum interpretiert -d
Option von GNU Datum. Wenn Sie versuchen, die Geburtszeit einer Referenzdatei zu verwenden, und die
Wenn die Geburtszeit nicht ermittelt werden kann, kommt es zu einer schwerwiegenden Fehlermeldung. Wenn Sie a angeben
Test, der sich auf die Geburtszeit der untersuchten Dateien bezieht, schlägt dieser Test fehl
für alle Dateien, deren Geburtszeit unbekannt ist.

-keine Gruppe
Keine Gruppe entspricht der numerischen Gruppen-ID der Datei.

-nouser
Kein Benutzer entspricht der numerischen Benutzer-ID der Datei.

-Pfad Anleitungen
Dateiname stimmt mit Shell-Muster überein Anleitungen. Die Metazeichen behandeln weder „/“ noch
`.' speziell; also zum Beispiel
finden . -path „./sr*sc“
gibt einen Eintrag für ein Verzeichnis namens „./src/misc“ aus (falls vorhanden). Ignorieren
einen ganzen Verzeichnisbaum verwenden -Pflaume anstatt jede Datei im Baum zu überprüfen.
Um beispielsweise das Verzeichnis „src/emacs“ und alle Dateien und Verzeichnisse darunter zu überspringen
Um es zu öffnen und die Namen der anderen gefundenen Dateien auszugeben, gehen Sie wie folgt vor:
finden . -path ./src/emacs -prune -o -print
Beachten Sie, dass der Musterübereinstimmungstest für den gesamten Dateinamen gilt, beginnend mit einem
der in der Kommandozeile genannten Startpunkte. Es würde nur Sinn machen, eine zu verwenden
Geben Sie hier den absoluten Pfadnamen an, wenn der betreffende Startpunkt ebenfalls ein absoluter Pfad ist. Das
bedeutet, dass dieser Befehl niemals mit irgendetwas übereinstimmt:
finde bar -path /foo/bar/myfile -print
Finden vergleicht die -Pfad Argument mit der Verkettung eines Verzeichnisnamens und des
Basisname der Datei, die untersucht wird. Da die Verkettung niemals mit enden wird
ein Schrägstrich, -Pfad Argumente, die mit einem Schrägstrich enden, werden mit nichts übereinstimmen (außer vielleicht mit a
Startpunkt, der in der Befehlszeile angegeben wird). Das Prädikat -Pfad wird auch unterstützt
von HP-UX gefunden und wird in einer kommenden Version des POSIX-Standards enthalten sein.

-Dauerwelle Modus
Die Berechtigungsbits der Datei sind genau Modus (oktal oder symbolisch). Da eine genaue Übereinstimmung
ist erforderlich. Wenn Sie dieses Formular für symbolische Modi verwenden möchten, müssen Sie dies möglicherweise tun
Geben Sie eine ziemlich komplexe Moduszeichenfolge an. Beispielsweise stimmt nur „-perm g=w“ überein
Dateien, die den Modus 0020 haben (d. h. Dateien, für die die Gruppenschreibberechtigung lautet
nur Berechtigungssatz). Es ist wahrscheinlicher, dass Sie „/“ oder „-“ verwenden möchten.
Formulare, zum Beispiel „-perm -g=w“, das mit jeder Datei mit Gruppenschreibzugriff übereinstimmt
Erlaubnis. Siehe die Beispiele: Abschnitt für einige anschauliche Beispiele.

-Dauerwelle -Modus
Alle Berechtigungsbits Modus sind für die Datei festgelegt. Symbolische Modi werden akzeptiert
in dieser Form, und das ist normalerweise die Art und Weise, wie Sie sie verwenden möchten. Du
muss „u“, „g“ oder „o“ angeben, wenn Sie einen symbolischen Modus verwenden. Siehe die Beispiele: Abschnitt
für einige anschauliche Beispiele.

-perm /Modus
Beliebige Berechtigungsbits Modus sind für die Datei festgelegt. Symbolische Modi werden akzeptiert
in dieser Form. Sie müssen „u“, „g“ oder „o“ angeben, wenn Sie einen symbolischen Modus verwenden. Sehen
Beispiele: Abschnitt für einige anschauliche Beispiele. Wenn keine Erlaubnis eingeht Modus
festgelegt sind, stimmt dieser Test mit jeder Datei überein (hier geht es darum, mit der konsistent zu sein
Verhalten von -Dauerwelle -000).

-perm +Modus
Dies wird nicht mehr unterstützt (und ist seit 2005 veraltet). Verwenden -Dauerwelle /Modus
stattdessen.

-lesbar
Entspricht Dateien, die lesbar sind. Dies berücksichtigt Zugriffskontrolllisten und
andere Berechtigungsartefakte, die die -Dauerwelle Test ignoriert. Dieser Test nutzt
Zugang(2) Systemaufruf und kann daher von NFS-Servern getäuscht werden, die eine UID-Zuordnung durchführen
(oder Root-Squashing), da viele Systeme implementieren Zugang(2) im Kernel des Clients
und können daher die auf dem Server gespeicherten UID-Zuordnungsinformationen nicht nutzen.

-Regex Anleitungen
Der Dateiname stimmt mit dem regulären Ausdruck überein Anleitungen. Das ist eine Übereinstimmung auf dem ganzen Weg,
keine Suche. Um beispielsweise eine Datei mit dem Namen „./fubar3“ abzugleichen, können Sie die Datei „./fubarXNUMX“ verwenden
regulärer Ausdruck „.*bar.“ oder „.*b.*3“, aber nicht „f.*r3“. Die regulären Ausdrücke
verstanden von gefunden sind standardmäßig reguläre Emacs-Ausdrücke, dies kann jedoch der Fall sein
geändert mit dem -regextype .

-samefile Name
Die Datei verweist auf denselben Inode wie Name. Wenn -L in Kraft ist, kann dies Folgendes umfassen:
symbolische Links.

-Größe n[cwbkMG]
Dateiverwendungen n Raumeinheiten, aufgerundet. Folgende Suffixe können verwendet werden:

„b“ für 512-Byte-Blöcke (dies ist die Standardeinstellung, wenn kein Suffix verwendet wird)

„c“ für Bytes

„w“ für Zwei-Byte-Wörter

„k“ für Kilobyte (Einheiten von 1024 Byte)

„M“ für Megabyte (Einheiten von 1048576 Bytes)

„G“ für Gigabyte (Einheiten von 1073741824 Bytes)

Die Größe zählt keine indirekten Blöcke, wohl aber Blöcke in Dateien mit geringer Dichte
die eigentlich nicht zugeordnet sind. Beachten Sie das Format „%k“ und „%b“.
Spezifizierer von -printf Behandeln Sie spärliche Dateien anders. Das Suffix „b“ immer
bezeichnet 512-Byte-Blöcke und niemals 1-Kilobyte-Blöcke, was sich von den unterscheidet
Verhalten von -ls.

Die Präfixe „+“ und „-“ bedeuten wie üblich „größer als“ und „kleiner als“. Denken Sie daran
dass die Größe auf die nächste Einheit aufgerundet wird. daher -Größe -1M ist nicht gleichwertig
zu -Größe -1048576c. Ersteres stimmt nur mit leeren Dateien überein, letzteres mit Dateien
von 1 bis 1,048,575 Bytes.

-true Immer wahr.

-Art c
Datei ist vom Typ c:

b-Block (gepuffert) speziell

c-Zeichen (ungepuffert) speziell

d Verzeichnis

p Named Pipe (FIFO)

f reguläre Datei

l symbolischer Link; Dies ist niemals wahr, wenn die -L Option oder die -Folgen Option ist
in Kraft, es sei denn, der symbolische Link wird unterbrochen. Wenn Sie suchen möchten
symbolische Links wenn -L ist in der Tat, verwenden -xtype.

s-Buchse

D-Tür (Solaris)

-uid n Die numerische Benutzer-ID der Datei lautet n.

-gebraucht n
Auf die Datei wurde zuletzt zugegriffen n Tage nach der letzten Statusänderung.

-Benutzer uname
Die Datei gehört dem Benutzer uname (numerische Benutzer-ID zulässig).

-ganzer Name Anleitungen
Siehe -Pfad. Diese Alternative ist weniger portabel als -Pfad.

-schreibbar
Entspricht Dateien, die beschreibbar sind. Dies berücksichtigt Zugriffskontrolllisten und
andere Berechtigungsartefakte, die die -Dauerwelle Test ignoriert. Dieser Test nutzt
Zugang(2) Systemaufruf und kann daher von NFS-Servern getäuscht werden, die eine UID-Zuordnung durchführen
(oder Root-Squashing), da viele Systeme implementieren Zugang(2) im Kernel des Clients
und können daher die auf dem Server gespeicherten UID-Zuordnungsinformationen nicht nutzen.

-xtype c
Das Gleiche wie -Art es sei denn, die Datei ist ein symbolischer Link. Für symbolische Links: wenn die
-H or -P Option wurde angegeben, true, wenn die Datei ein Link zu einer Datei des Typs ist c; ob
-L Option wurde angegeben, wahr, wenn c ist „l“. Mit anderen Worten: für symbolisch
Links, -xtype prüft den Typ der Datei, die -Art prüft nicht.

-Kontext Anleitungen
(Nur SELinux) Der Sicherheitskontext der Datei stimmt mit glob überein Anleitungen.

MASSNAHMEN
-löschen
Dateien löschen; wahr, wenn die Entfernung erfolgreich war. Wenn das Entfernen fehlschlägt, wird eine Fehlermeldung angezeigt
ausgegeben wird. Wenn -löschen scheitert, gefundenDer Exit-Status ist ungleich Null (wenn es
wird schließlich beendet). Gebrauch von -löschen schaltet das ` automatisch ein-Tiefe' Möglichkeit.

Warnungen: Vergessen Sie nicht, dass die Suchbefehlszeile als Ausdruck ausgewertet wird
Putting -löschen Zuerst werde ich machen gefunden Versuchen Sie, alles unterhalb des Anfangs zu löschen
Punkte, die Sie angegeben haben. Beim Testen von a gefunden Befehlszeile, die Sie später ausführen möchten
benutzen mit -löschen, sollten Sie explizit angeben -Tiefe um es später zu vermeiden
Überraschungen. Weil -löschen impliziert -Tiefe, können Sie nicht sinnvoll nutzen -Pflaume und
-löschen perfekter Harmonie.

-Exec Befehl ;
Ausführen Befehl; true, wenn der Status 0 zurückgegeben wird. Alle folgenden Argumente zu gefunden sind
werden als Argumente für den Befehl angesehen, bis ein Argument bestehend aus „;“ Ist
angetroffen. Die Zeichenfolge „{}“ wird durch den Namen der aktuell verarbeiteten Datei ersetzt
überall dort, wo es in den Argumenten des Befehls vorkommt, nicht nur in Argumenten wo
es ist allein, wie in einigen Versionen von gefunden. Beide Konstruktionen könnten erforderlich sein
müssen maskiert (mit einem „\“) oder in Anführungszeichen gesetzt werden, um sie vor der Erweiterung durch die Shell zu schützen.
Siehe die Beispiele: Abschnitt für Beispiele für die Verwendung von -Exec Option. Die
Der angegebene Befehl wird einmal für jede übereinstimmende Datei ausgeführt. Der Befehl wird in ausgeführt
das Startverzeichnis. Es gibt unvermeidbare Sicherheitsprobleme bei der Nutzung
dauert ebenfalls 3 Jahre. Das erste Jahr ist das sog. -Exec Aktion; Sie sollten das verwenden -execdir Option statt.

-Exec Befehl {} +
Diese Variante des -Exec Die Aktion führt den angegebenen Befehl für die ausgewählten Dateien aus.
aber die Befehlszeile wird erstellt, indem jeder ausgewählte Dateiname am Ende angehängt wird; Die
Die Gesamtzahl der Aufrufe des Befehls wird viel geringer sein als die Anzahl der
übereinstimmende Dateien. Die Befehlszeile ist ähnlich aufgebaut xargs baut
seine Befehlszeilen. Innerhalb des Befehls ist nur eine Instanz von „{}“ zulässig. Der
Der Befehl wird im Startverzeichnis ausgeführt. Wenn gefunden stößt auf einen Fehler, this
kann manchmal zu einem sofortigen Beenden führen, sodass einige ausstehende Befehle möglicherweise nicht ausgeführt werden
alle. Diese Variante von -Exec gibt immer true zurück.

-execdir Befehl ;

-execdir Befehl {} +
Like -Exec, aber der angegebene Befehl wird aus dem Unterverzeichnis ausgeführt, das die enthält
übereinstimmende Datei, die normalerweise nicht das Verzeichnis ist, in dem Sie gestartet haben gefunden. Dies
eine viel sicherere Methode zum Aufrufen von Befehlen, da Race Conditions vermieden werden
während der Auflösung der Pfade zu den übereinstimmenden Dateien. Wie bei der -Exec Aktion, die
„+“-Form von -execdir erstellt eine Befehlszeile, um mehr als eine Übereinstimmung zu verarbeiten
Datei, aber jeder gegebene Aufruf von Befehl listet nur Dateien auf, die in vorhanden sind
gleiches Unterverzeichnis. Wenn Sie diese Option nutzen, müssen Sie sicherstellen, dass Ihre $ PATH
Umgebungsvariable verweist nicht auf „.“; andernfalls kann ein Angreifer beliebige ausführen
Befehle, die ihnen gefallen, indem Sie eine entsprechend benannte Datei in einem Verzeichnis hinterlassen, in dem
du wirst laufen -execdir. Gleiches gilt für Eintragungen in $ PATH die leer sind
oder die keine absoluten Verzeichnisnamen sind. Wenn gefunden Wenn ein Fehler auftritt, kann dies der Fall sein
führen manchmal zu einem sofortigen Beenden, sodass einige ausstehende Befehle möglicherweise überhaupt nicht ausgeführt werden.
Das Ergebnis der Aktion hängt davon ab, ob die + oder im ; Variante wird verwendet;
-execdir Befehl {} + gibt immer true zurück, while -execdir Befehl {} ; gibt wahr zurück
nur wenn Befehl gibt 0 zurück.

-fls Datei
WAHR; wie -ls aber schreibe an Datei Gefällt mir -fprint. Die Ausgabedatei wird immer erstellt,
auch wenn das Prädikat nie übereinstimmt. Siehe die UNGEWÖHNLICH DATEINAMEN Abschnitt für
Informationen darüber, wie mit ungewöhnlichen Zeichen in Dateinamen umgegangen wird.

-fprint Datei
WAHR; Geben Sie den vollständigen Dateinamen in die Datei aus Datei. Wenn Datei existiert nicht, wenn gefunden is
laufen, es wird erstellt; Wenn es existiert, wird es abgeschnitten. Die Dateinamen
`/dev/stdout' und `/dev/stderr' werden speziell behandelt; sie beziehen sich auf den Standard
Ausgabe bzw. Standardfehlerausgabe. Die Ausgabedatei wird immer erstellt,
auch wenn das Prädikat nie übereinstimmt. Siehe die UNGEWÖHNLICH DATEINAMEN Abschnitt für
Informationen darüber, wie mit ungewöhnlichen Zeichen in Dateinamen umgegangen wird.

-fprint0 Datei
WAHR; wie -print0 aber schreibe an Datei Gefällt mir -fprint. Die Ausgabedatei ist immer
erstellt, auch wenn das Prädikat nie übereinstimmt. Siehe die UNGEWÖHNLICH DATEINAMEN Abschnitt
Informationen darüber, wie mit ungewöhnlichen Zeichen in Dateinamen umgegangen wird.

-fprintf Datei Format
WAHR; wie -printf aber schreibe an Datei Gefällt mir -fprint. Die Ausgabedatei ist immer
erstellt, auch wenn das Prädikat nie übereinstimmt. Siehe die UNGEWÖHNLICH DATEINAMEN Abschnitt
Informationen darüber, wie mit ungewöhnlichen Zeichen in Dateinamen umgegangen wird.

-ls True; Aktuelle Datei auflisten in ls -dils Format auf der Standardausgabe. Der Block zählt
bestehen aus 1K-Blöcken, es sei denn, die Umgebungsvariable POSIXLY_CORRECT ist festgelegt
In diesem Fall werden 512-Byte-Blöcke verwendet. Siehe die UNGEWÖHNLICH DATEINAMEN Abschnitt für Informationen
darüber, wie mit ungewöhnlichen Zeichen in Dateinamen umgegangen wird.

-okay Befehl ;
Like -Exec aber fragen Sie zuerst den Benutzer. Wenn der Benutzer zustimmt, führen Sie den Befehl aus. Ansonsten
gib einfach false zurück. Wenn der Befehl ausgeführt wird, wird seine Standardeingabe umgeleitet
/ dev / null.

Die Antwort auf die Eingabeaufforderung wird mit einem Paar regulärer Ausdrücke abgeglichen
Bestimmen Sie, ob es sich um eine positive oder negative Antwort handelt. Dieser reguläre Ausdruck ist
vom System erhalten, wenn die Umgebungsvariable „POSIXLY_CORRECT“ gesetzt ist, oder
sonst von gefundenNachrichtenübersetzungen von 's. Wenn das System nicht geeignet ist
Definition, gefundenEs wird die eigene Definition verwendet. In jedem Fall ist die
Die Interpretation des regulären Ausdrucks selbst wird von der Umgebung beeinflusst
Variablen 'LC_CTYPE' (Zeichenklassen) und 'LC_COLLATE' (Zeichenbereiche und
Äquivalenzklassen).

-okdir Befehl ;
Like -execdir aber fragen Sie den Benutzer zuerst auf die gleiche Weise wie zuvor -okay. Wenn der Benutzer dies tut
nicht einverstanden, einfach false zurückgeben. Wenn der Befehl ausgeführt wird, lautet seine Standardeingabe
umgeleitet von / dev / null.

-print True; Geben Sie den vollständigen Dateinamen auf der Standardausgabe aus, gefolgt von einer neuen Zeile. Wenn
Sie leiten die Ausgabe von weiter gefunden in ein anderes Programm und da ist das schwächste
Es besteht die Möglichkeit, dass die Dateien, nach denen Sie suchen, einen Zeilenumbruch enthalten.
Dann sollten Sie ernsthaft darüber nachdenken, das zu verwenden -print0 Option statt -drucken. Sehen
UNGEWÖHNLICH DATEINAMEN Abschnitt für Informationen darüber, wie ungewöhnliche Charaktere in sind
Dateinamen werden behandelt.

-print0
WAHR; Gibt den vollständigen Dateinamen auf der Standardausgabe aus, gefolgt von einem Nullzeichen
(anstelle des Newline-Zeichens that -drucken Verwendet). Dies ermöglicht Dateinamen, die
enthalten Zeilenumbrüche oder andere Arten von Leerzeichen, die von richtig interpretiert werden müssen
Programme, die die verarbeiten gefunden Ausgabe. Diese Option entspricht der -0 Option
xargs.

-printf Format
WAHR; drucken Format auf der Standardausgabe, Interpretieren von „\“-Escapes und „%“
Richtlinien. Feldbreiten und Genauigkeiten können wie beim „printf“ C angegeben werden
Funktion. Bitte beachten Sie, dass viele Felder als %s und nicht als %d gedruckt werden.
und dies kann bedeuten, dass Flags nicht wie erwartet funktionieren. Das bedeutet auch das
Das Flag „-“ funktioniert (es erzwingt, dass Felder linksbündig ausgerichtet werden). nicht wie -drucken,
-printf fügt am Ende der Zeichenfolge keine neue Zeile hinzu. Die Fluchten und
Richtlinien sind:

\a Alarmglocke.

\b Rücktaste.

\c Stoppen Sie den Druck aus diesem Format sofort und leeren Sie die Ausgabe.

\f Formularvorschub.

\n Zeilenumbruch.

\r Wagenrücklauf.

\t Horizontale Registerkarte.

\v Vertikale Registerkarte.

\0 ASCII-NULL.

\\ Ein wörtlicher Backslash (`\').

\NNN Das Zeichen, dessen ASCII-Code NNN (oktal) ist.

Ein `\'-Zeichen gefolgt von einem anderen Zeichen wird wie ein gewöhnliches Zeichen behandelt
Zeichen, also werden beide gedruckt.

%% Ein wörtliches Prozentzeichen.

%a Die letzte Zugriffszeit der Datei im Format, das von der C-Funktion „ctime“ zurückgegeben wird.

%Ak Die letzte Zugriffszeit der Datei im durch angegebenen Format k, was entweder „@“ oder ist
eine Direktive für die C-Funktion „strftime“. Die möglichen Werte für k sind
nachfolgend aufgeführten; Einige davon sind möglicherweise nicht auf allen Systemen verfügbar
Unterschiede in der „strftime“ zwischen Systemen.

@ Sekunden seit dem 1. Januar 1970, 00:00 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 Gebietsschema ist AM oder PM

r Zeit, 12 Stunden (hh:mm:ss [AP]M)

S Sekunde (00.00 .. 61.00). Es gibt einen Bruchteil.

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

+ Datum und Uhrzeit, getrennt durch „+“, zum Beispiel „2004-04-28+22:22:05.0“.
Dies ist eine GNU-Erweiterung. Die Uhrzeit wird in der aktuellen Zeitzone angegeben
(was durch das Setzen der TZ-Umgebungsvariablen beeinflusst werden kann). Der
Das Sekundenfeld enthält einen Bruchteil.

Zeitdarstellung des X-Gebietsschemas (H:M:S). Das Sekundenfeld enthält a
Bruchteil.

Z-Zeitzone (z. B. EDT) oder nichts, wenn keine Zeitzone bestimmbar ist

Datumsfelder:

der abgekürzte Wochentagsname eines Ortes (Sun..Sat)

Der vollständige Wochentagsname eines Gebietsschemas, variable Länge (Sonntag..Samstag)

b Der abgekürzte Monatsname des Gebietsschemas (Jan..Dez)

Vollständiger Monatsname des Gebietsschemas B, variable Länge (Januar..Dezember)

c Datum und Uhrzeit des Gebietsschemas (Sa. 04. Nov. 12:02:33 EST 1989). Das Format ist
das gleiche wie für ctime(3) und so, um die Kompatibilität damit zu wahren
Format gibt es im Sekundenfeld keinen Bruchteil.

d Tag des Monats (01..31)

T-Datum (MM/TT/JJ)

h wie b

j Tag des Jahres (001..366)

m Monat (01..12)

U Wochennummer des Jahres mit Sonntag als erstem Tag der Woche (00..53)

w Wochentag (0..6)

W Wochennummer des Jahres mit Montag als erstem Tag der Woche (00..53)

x Datumsdarstellung des Gebietsschemas (mm/tt/jj)

y letzte zwei Ziffern des Jahres (00..99)

Y-Jahr (1970...)

%b Der für diese Datei verwendete Speicherplatz in 512-Byte-Blöcken. Da Diskette
Der Speicherplatz wird normalerweise in Vielfachen der Blockgröße des Dateisystems zugewiesen
größer als %s/512, kann aber auch kleiner sein, wenn die Datei dünn besetzt ist
Datei.

%c Zeitpunkt der letzten Statusänderung der Datei in dem von C „ctime“ zurückgegebenen Format
Funktion.

%Ck Der Zeitpunkt der letzten Statusänderung der Datei im durch angegebenen Format k, das ist die
das Gleiche wie für %A.

%d Dateitiefe im Verzeichnisbaum; 0 bedeutet, dass die Datei ein Ausgangspunkt ist.

%D Die Gerätenummer, auf der die Datei vorhanden ist (das st_dev-Feld von struct
stat), in Dezimalzahl.

%f Dateiname, wobei alle führenden Verzeichnisse entfernt wurden (nur das letzte Element).

%F Typ des Dateisystems, auf dem sich die Datei befindet; Dieser Wert kann für -fstype verwendet werden.

%g Gruppenname der Datei oder numerische Gruppen-ID, wenn die Gruppe keinen Namen hat.

%G Numerische Gruppen-ID der Datei.

%h Führende Verzeichnisse des Dateinamens (alle bis auf das letzte Element). Wenn die Datei
Name enthält keine Schrägstriche (da er sich im aktuellen Verzeichnis befindet) %h
Der Bezeichner wird zu „.“ erweitert.

%H Startpunkt, unter dem die Datei gefunden wurde.

%i Inode-Nummer der Datei (in Dezimalzahl).

%k Der für diese Datei verwendete Speicherplatz in 1-KB-Blöcken. Da Speicherplatz
wird in Vielfachen der Dateisystemblockgröße zugewiesen, die normalerweise der Fall ist
größer als %s/1024, kann aber auch kleiner sein, wenn die Datei dünn besetzt ist
Datei.

%l Objekt eines symbolischen Links (leerer String, wenn die Datei kein symbolischer Link ist).

%m Berechtigungsbits der Datei (oktal). Diese Option verwendet die „traditionelle“
Zahlen, die die meisten Unix-Implementierungen verwenden, aber wenn Sie speziell sind
Die Implementierung verwendet eine ungewöhnliche Reihenfolge der oktalen Berechtigungsbits
einen Unterschied zwischen dem tatsächlichen Wert des Dateimodus und der Ausgabe feststellen
von %m. Normalerweise möchten Sie eine führende Null auf dieser Zahl haben, und
Dazu sollten Sie die verwenden # Flag (wie zum Beispiel „%#m“).

%M Dateiberechtigungen (in symbolischer Form, z. B ls). Diese Richtlinie ist
Wird in Findutils 4.2.5 und höher unterstützt.

%n Anzahl der Hardlinks zur Datei.

%p Dateiname.

%P Dateiname mit dem Namen des Startpunkts, unter dem sie gefunden wurde
entfernt.

%s Dateigröße in Byte.

%S Datei ist spärlich. Dies wird berechnet als (BLOCKSIZE*st_blocks / st_size).
Der genaue Wert, den Sie für eine gewöhnliche Datei einer bestimmten Länge erhalten, ist
systemabhängig. Normalerweise haben Dateien mit geringer Dichte jedoch Werte kleiner als
1.0 und Dateien, die indirekte Blöcke verwenden, können einen größeren Wert haben
als 1.0. Der für BLOCKSIZE verwendete Wert ist systemabhängig, ist es aber in der Regel
512 Byte. Wenn die Dateigröße Null ist, ist der gedruckte Wert undefiniert. An
Auf Systemen, die st_blocks nicht unterstützen, wird davon ausgegangen, dass eine Datei spärlich ist
Sei 1.0.

%t Zeitpunkt der letzten Änderung der Datei in dem von C „ctime“ zurückgegebenen Format
Funktion.

%Tk Der letzte Änderungszeitpunkt der Datei im durch angegebenen Format k, das ist die
das Gleiche wie für %A.

%u Benutzername der Datei oder numerische Benutzer-ID, wenn der Benutzer keinen Namen hat.

%U Numerische Benutzer-ID der Datei.

%y Dateityp (wie in ls -l), U=unbekannter Typ (sollte nicht passieren)

%Y Dateityp (wie %y), plus folgende symbolische Links: L=Schleife, N=nicht vorhanden

%Z (nur SELinux) Sicherheitskontext der Datei.

%{ %[ %(
Reserviert für zukünftige Verwendung.

Ein „%“-Zeichen, gefolgt von einem anderen Zeichen, wird verworfen, aber das andere
Zeichen wird gedruckt (verlassen Sie sich nicht darauf, da möglicherweise weitere Formatzeichen vorhanden sind).
eingeführt). Ein „%“ am Ende des Formatarguments führt zu undefiniertem Verhalten
da es kein Folgezeichen gibt. An manchen Orten kann es Ihre Tür verdecken
In anderen Fällen wird möglicherweise die letzte Seite des Romans entfernt, den Sie gerade lesen.

Die Anweisungen %m und %d unterstützen die # , 0 und + Flags, aber die anderen Anweisungen tun es
nicht, auch wenn sie Zahlen drucken. Numerische Direktiven, die diese nicht unterstützen
Flaggen enthalten G, U, b, D, k und n. Das Formatflag „-“ wird unterstützt und ändert sich
die Ausrichtung eines Feldes von rechtsbündig (Standardeinstellung) nach linksbündig.
gerechtfertigt.

Siehe die UNGEWÖHNLICH DATEINAMEN Abschnitt für Informationen darüber, wie ungewöhnliche Charaktere in sind
Dateinamen werden behandelt.

-prune True; Wenn es sich bei der Datei um ein Verzeichnis handelt, steigen Sie nicht in dieses Verzeichnis ab. Wenn -Tiefe gegeben ist,
FALSCH; Kein Effekt. Weil -löschen impliziert -Tiefe, können Sie nicht sinnvoll nutzen -Pflaume
und -löschen perfekter Harmonie.

-quit Sofort beenden. Es werden keine untergeordneten Prozesse ausgeführt, aber auch keine Pfade mehr
Die in der Befehlszeile angegebene Datei wird verarbeitet. Zum Beispiel, gefunden /tmp/foo
/tmp/bar -drucken -Verlassen wird nur gedruckt /tmp/foo. Alle Befehlszeilen, die vorhanden waren
aufgebaut mit -execdir ... {} + wird vorher aufgerufen gefunden Ausgänge. Der Ausgang
Der Status kann Null sein oder auch nicht, abhängig davon, ob bereits ein Fehler aufgetreten ist.

BETREIBER
In absteigender Reihenfolge aufgeführt:

( ausdr )
Vorrang erzwingen. Da Klammern eine Besonderheit der Shell sind, werden Sie dies normalerweise tun
Ich muss sie zitieren. Viele der Beispiele in dieser Handbuchseite verwenden Backslashes für
Zu diesem Zweck: `\(...\)' statt `(...)'.

! ausdr Wahr, wenn ausdr ist falsch. Dieser Charakter benötigt normalerweise auch Schutz vor
Interpretation durch die Shell.

-nicht ausdr
Gleich wie ! ausdr, aber nicht POSIX-kompatibel.

Ausdruck1 Ausdruck2
Es wird davon ausgegangen, dass zwei Ausdrücke in einer Zeile mit einem impliziten „und“ verbunden sind. Ausdruck2 ist nicht
ausgewertet, wenn Ausdruck1 ist falsch.

Ausdruck1 -a Ausdruck2
Das gleiche wie Ausdruck1 Ausdruck2.

Ausdruck1 -und Ausdruck2
Das gleiche wie Ausdruck1 Ausdruck2, aber nicht POSIX-kompatibel.

Ausdruck1 -o Ausdruck2
Oder; Ausdruck2 wird nicht ausgewertet, wenn Ausdruck1 ist wahr.

Ausdruck1 -Oder Ausdruck2
Das gleiche wie Ausdruck1 -o Ausdruck2, aber nicht POSIX-kompatibel.

Ausdruck1 , Ausdruck2
Aufführen; beide Ausdruck1 und 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 für
Suche nach verschiedenen Arten von Dingen, durchquere aber das Dateisystem
Hierarchie nur einmal. Der -fprintf Mit der Aktion können die verschiedenen Übereinstimmungen aufgelistet werden
Elemente in verschiedene Ausgabedateien.

Bitte beachten Sie, dass -a wenn implizit angegeben (zum Beispiel durch zwei Tests, die ohne erscheinen).
ein expliziter Operator dazwischen) oder hat explizit eine höhere Priorität als -o. Dies
bedeutet, dass gefunden . -Name eine Datei -o -Name bfile -drucken wird nie gedruckt eine Datei.

UNGEWÖHNLICH DATEINAMEN


Viele der Aktionen von gefunden Dies führt zum Drucken von Daten, die unter der Kontrolle von stehen
andere Benutzer. Dazu gehören Dateinamen, Größen, Änderungszeiten usw. Datei
Namen stellen ein potenzielles Problem dar, da sie alle Zeichen außer „\0“ und „/“ enthalten können.
Ungewöhnliche Zeichen in Dateinamen können unerwartete und oft unerwünschte Auswirkungen auf Sie haben
Terminal (z. B. Ändern der Einstellungen Ihrer Funktionstasten auf einigen Terminals).
Ungewöhnliche Charaktere werden von verschiedenen Aktionen unterschiedlich gehandhabt, wie unten beschrieben.

-print0, -fprint0
Geben Sie immer den genauen Dateinamen unverändert aus, auch wenn die Ausgabe an a erfolgt
Terminal.

-ls, -fls
Ungewöhnliche Zeichen werden immer maskiert. Leerzeichen, Backslash und doppelte Anführungszeichen
Zeichen werden mit Escapezeichen im C-Stil gedruckt (z. B. „\f“, „\““). Sonstiges
Ungewöhnliche Zeichen werden mit einem oktalen Escapezeichen ausgegeben. Andere druckbare Zeichen
(Für -ls und -fls (das sind die Zeichen zwischen Oktal 041 und 0176).
wie es ist.

-printf, -fprintf
Wenn die Ausgabe nicht an ein Terminal geht, wird sie unverändert gedruckt. Ansonsten der
Das Ergebnis hängt davon ab, welche Direktive verwendet wird. Die Anweisungen %D, %F, %g, %G, %H,
%Y und %y erweitern sich auf Werte, die nicht unter der Kontrolle der Dateieigentümer stehen, und so weiter
werden so gedruckt, wie sie sind. Die Anweisungen %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u
und %U haben Werte, die unter der Kontrolle der Dateieigentümer stehen, die jedoch nicht kontrolliert werden können
Wird verwendet, um beliebige Daten an das Terminal zu senden und diese so auszudrucken, wie sie sind. Der
Die Anweisungen %f, %h, %l, %p und %P werden in Anführungszeichen gesetzt. Dieses Zitieren erfolgt in gleicher Weise
So wie für GNU ls. Dies ist nicht derselbe Zitiermechanismus wie der, der für verwendet wird -ls
und -fls. Wenn Sie entscheiden können, welches Format für die Ausgabe verwendet werden soll gefunden dann
Normalerweise ist es besser, „\0“ als Abschlusszeichen zu verwenden, als eine neue Zeile als Datei
Namen können Leerzeichen und Zeilenumbrüche enthalten. Die Einstellung der
Die Umgebungsvariable „LC_CTYPE“ wird verwendet, um zu bestimmen, welche Zeichen sein müssen
zitiert.

-print, -fprint
Die Angebotserstellung erfolgt auf die gleiche Weise wie bei -printf und -fprintf. Wenn Sie verwenden
gefunden in einem Skript oder in einer Situation, in der die übereinstimmenden Dateien möglicherweise willkürlich sind
Namen, die Sie in Betracht ziehen sollten -print0 statt -drucken.

Das -okay und -okdir Aktionen geben den aktuellen Dateinamen unverändert aus. Dies kann sich in Zukunft ändern
freizugeben.

STANDARDS KONFORMITÄT


Für eine größtmögliche Übereinstimmung mit dem POSIX-Standard sollten Sie POSIXLY_CORRECT festlegen
Umgebungsvariable. Die folgenden Optionen sind im POSIX-Standard (IEEE Std.) spezifiziert
1003.1, Ausgabe 2003):

-H Diese Option wird unterstützt.

-L Diese Option wird unterstützt.

-Name Diese Option wird unterstützt, die POSIX-Konformität hängt jedoch von der POSIX-Konformität von ab
das System fnmatch(3) Bibliotheksfunktion. Ab findutils-4.2.2, Shell
Metazeichen (zum Beispiel „*“, „?“ oder „[]“) stimmen mit einem führenden „.“ überein, weil
Die IEEE PASC-Interpretation 126 erfordert dies. Dies ist eine Änderung gegenüber dem vorherigen
Versionen von findutils.

-Art Unterstützt. POSIX spezifiziert „b“, „c“, „d“, „l“, „p“, „f“ und „s“. GNU findet auch
unterstützt „D“, das eine Tür darstellt, wobei das Betriebssystem diese bereitstellt.

-okay Unterstützt. Die Interpretation der Antwort erfolgt nach „Ja“ und „Nein“.
Muster, die durch Festlegen der Umgebungsvariablen „LC_MESSAGES“ ausgewählt werden. Wenn das
Die Umgebungsvariable „POSIXLY_CORRECT“ ist festgelegt. Diese Muster werden vom System übernommen
Definition einer positiven (ja) oder negativen (nein) Antwort. Siehe das System
Dokumentation für nl_langinfo(3), insbesondere YESEXPR und NOEXPR. Wann
„POSIXLY_CORRECT“ ist nicht gesetzt, die Muster werden stattdessen übernommen gefundengehört mir
Nachrichtenkatalog.

-neuer Unterstützt. Wenn es sich bei der angegebenen Datei um einen symbolischen Link handelt, wird sie immer dereferenziert.
Dies ist eine Änderung gegenüber dem bisherigen Verhalten, das früher die entsprechende Zeit in Anspruch nahm
der symbolische Link; siehe den Abschnitt GESCHICHTE unten.

-Dauerwelle Unterstützt. Wenn die Umgebungsvariable POSIXLY_CORRECT nicht festgelegt ist, wird ein Modus verwendet
Argumente (zum Beispiel +a+x), die in POSIX nicht gültig sind, werden unterstützt
Rückwärtskompatibilität.

Andere Prädikate
Die Prädikate -eine Zeit, -ctime, -Tiefe, -Gruppe, -Links, -Mtime, -keine Gruppe, -nouser,
-drucken, -Pflaume, -Größe, -Benutzer und -xdev „-atime“, „-ctime“, „- Depth“, „-group“,
„-links“, „-mtime“, „-nogroup“, „-nouser“, „-perm“, „-print“, „-prune“, „-size“,
„-user“ und „-xdev“ werden alle unterstützt.

Der POSIX-Standard spezifiziert Klammern „(“, „)“, Negation „!“ und das „und“ und „oder“
Betreiber ( -a, -o).

Alle anderen Optionen, Prädikate, Ausdrücke usw. sind Erweiterungen über POSIX hinaus
Standard. Viele dieser Erweiterungen gibt es jedoch nicht nur bei GNU Find.

Der POSIX-Standard erfordert dies gefunden erkennt Schleifen:

Das gefunden Das Dienstprogramm muss Endlosschleifen erkennen. das heißt, die Eingabe eines vorherigen
besuchte Verzeichnis, das ein Vorfahre der zuletzt gefundenen Datei ist. Wenn es
Erkennt eine Endlosschleife, soll find eine Diagnosemeldung in den Standardfehler schreiben
und soll entweder seine Position in der Hierarchie wiedererlangen oder enden.

GNU gefunden erfüllt diese Anforderungen. Die Linkanzahl der Verzeichnisse, die enthalten
Einträge, die feste Links zu einem Vorfahren haben, sind oft niedriger, als sie sonst sollten
Sei. Dies kann bedeuten, dass GNU Find manchmal den Besuch von a optimiert
Unterverzeichnis, das eigentlich ein Link zu einem Vorfahren ist. Seit gefunden kommt eigentlich nicht rein
In einem solchen Unterverzeichnis kann die Ausgabe einer Diagnosemeldung vermieden werden. Obwohl dieses
Obwohl das Verhalten etwas verwirrend sein kann, ist es unwahrscheinlich, dass sich irgendjemand tatsächlich darauf verlässt
Verhalten. Wenn die Blattoptimierung mit ausgeschaltet wurde -Noleaf, der Verzeichniseintrag
wird immer untersucht und die Diagnosemeldung wird gegebenenfalls ausgegeben.
Symbolische Links können nicht zum Erstellen von Dateisystemzyklen als solche verwendet werden, aber wenn die -L Option oder
-Folgen Wenn die Option verwendet wird, wird eine Diagnosemeldung ausgegeben gefunden stößt auf eine Schleife
von symbolischen Links. Wie bei Schleifen, die harte Links enthalten, wird die Blattoptimierung häufig durchgeführt
meinen, dass gefunden weiß, dass es keinen Anruf braucht stat () or chdir() auf dem symbolischen Link,
Daher ist diese Diagnose häufig nicht erforderlich.

Das -d Die Option wird aus Kompatibilitätsgründen mit verschiedenen BSD-Systemen unterstützt, Sie sollten sie jedoch verwenden
die POSIX-kompatible Option -Tiefe stattdessen.

Die Umgebungsvariable POSIXLY_CORRECT hat keinen Einfluss auf das Verhalten von -Regex or
-iregex Tests, da diese Tests nicht im POSIX-Standard spezifiziert sind.

VARIABLEN


LANG Stellt einen Standardwert für die Internationalisierungsvariablen bereit, die nicht gesetzt sind oder
Null.

LC_ALL Wenn auf einen nicht leeren Zeichenfolgenwert festgelegt, werden die Werte aller anderen überschrieben
Internationalisierungsvariablen.

LC_COLLATE
Der POSIX-Standard legt fest, dass diese Variable den Mustervergleich beeinflusst
verwendet für die -Name Möglichkeit. GNU find verwendet die fnmatch(3) Bibliotheksfunktion usw
Die Unterstützung für „LC_COLLATE“ hängt von der Systembibliothek ab. Diese Variable auch
beeinflusst die Interpretation der Antwort auf -OK; während die Variable „LC_MESSAGES“ ist
Wählt das tatsächliche Muster aus, das zur Interpretation der Antwort verwendet wird -okay, der
Die Interpretation aller Klammerausdrücke im Muster wird dadurch beeinflusst
„LC_COLLATE“.

LC_CTYPE
Diese Variable beeinflusst die Behandlung von Zeichenklassen, die in regulären Klassen verwendet werden
Ausdrücke und auch mit der -Name Testen Sie, ob das System funktioniert fnmatch(3) Bibliothek
Funktion unterstützt dies. Diese Variable beeinflusst auch die Interpretation von beliebigen
Zeichenklassen in den regulären Ausdrücken, die zur Interpretation der Antwort auf verwendet werden
Aufforderung ausgegeben von -okay. Die Umgebungsvariable „LC_CTYPE“ wirkt sich auch darauf aus
Zeichen gelten beim Drucken von Dateinamen als nicht druckbare Zeichen. siehe die
Abschnitt UNGEWÖHNLICHE DATEINAMEN.

LC_MESSAGES
Bestimmt das Gebietsschema, das für internationalisierte Nachrichten verwendet werden soll. Wenn die
Die Umgebungsvariable „POSIXLY_CORRECT“ ist festgelegt. Dies bestimmt auch die
Interpretation der Antwort des Benutzers auf die Aufforderung -okay Maßnahmen.

NLSPATH
Bestimmt den Speicherort der Internationalisierungsnachrichtenkataloge.

PATH Beeinflusst die Verzeichnisse, die durchsucht werden, um die von aufgerufenen ausführbaren Dateien zu finden
-Exec, -execdir, -okay und -okdir.

POSIXLY_KORREKT
Bestimmt die von verwendete Blockgröße -ls und -fls. Wenn POSIXLY_KORREKT gesetzt ist, blockiert
sind Einheiten von 512 Bytes. Ansonsten handelt es sich um Einheiten von 1024 Byte.

Durch das Setzen dieser Variablen werden auch Warnmeldungen deaktiviert (d. h. impliziert). -nunwarn) durch
Standard, da POSIX dies abgesehen von der Ausgabe für erfordert -okay, alle Nachrichten
Die auf stderr gedruckten Fehler sind Diagnosen und müssen zu einem Exit-Status ungleich Null führen.

Wenn POSIXLY_CORRECT nicht gesetzt ist, -Dauerwelle +zzz wird genauso behandelt -Dauerwelle /zzz wenn +zzz
ist kein gültiger symbolischer Modus. Wenn POSIXLY_CORRECT festgelegt ist, sind solche Konstrukte vorhanden
als Fehler behandelt.

Wenn POSIXLY_CORRECT festgelegt ist, ist die Antwort auf die Eingabeaufforderung von -okay Aktion ist
gemäß dem Nachrichtenkatalog des Systems interpretiert und nicht gemäß
gefundeneigene Nachrichtenübersetzungen.

TZ Beeinflusst die Zeitzone, die für einige der zeitbezogenen Formatanweisungen von verwendet wird
-printf und -fprintf.

Beispiele:


gefunden / Tmp -Name Core -Art f -drucken | xargs /bin/rm -f

Suchen Sie nach Dateien mit dem Namen Core im oder unterhalb des Verzeichnisses / Tmp und löschen Sie sie. Beachten Sie, dass dies der Fall sein wird
funktionieren nicht ordnungsgemäß, wenn Dateinamen Zeilenumbrüche, einfache oder doppelte Anführungszeichen enthalten.
oder Leerzeichen.

gefunden / Tmp -Name Core -Art f -print0 | xargs -0 /bin/rm -f

Suchen Sie nach Dateien mit dem Namen Core im oder unterhalb des Verzeichnisses / Tmp und löschen Sie sie, indem Sie Dateinamen verarbeiten
so, dass Datei- oder Verzeichnisnamen einfache oder doppelte Anführungszeichen, Leerzeichen usw. enthalten
Zeilenumbrüche werden korrekt behandelt. Der -Name Test kommt vor dem -Art testen, um
Vermeiden Sie es, anrufen zu müssen Zustand(2) auf jeder Datei.

gefunden . -Art f -Exec Datei '{}' \;

Führt „file“ für jede Datei im oder unterhalb des aktuellen Verzeichnisses aus. Beachten Sie, dass die Klammern vorhanden sind
werden in einfache Anführungszeichen gesetzt, um sie vor der Interpretation als Shell-Skript zu schützen
Interpunktion. Das Semikolon wird jedoch ebenfalls durch die Verwendung eines Backslashs geschützt
In diesem Fall hätten auch einfache Anführungszeichen verwendet werden können.

gefunden / \( -Dauerwelle -4000 -fprintf /root/suid.txt '%#M %u %p\n' \) , \
\( -Größe + 100M -fprintf /root/big.txt '%-10s %p\n' \)

Durchlaufen Sie das Dateisystem nur einmal und listen Sie Setuid-Dateien und -Verzeichnisse auf
/root/suid.txt und große Dateien hinein /root/big.txt.

gefunden $ HOME -Mtime 0

Suchen Sie in Ihrem Home-Verzeichnis nach Dateien, die in den letzten vierundzwanzig geändert wurden
Std. Dieser Befehl funktioniert auf diese Weise, da die Zeit seit der letzten Änderung jeder Datei beträgt
durch 24 Stunden geteilt und der Rest wird verworfen. Das bedeutet, dass es passt -Mtime 0, eine
Die Datei muss in der Vergangenheit geändert worden sein, die weniger als 24 Stunden zurückliegt.

gefunden / sbin / usr / sbin -ausführbar \! -lesbar -drucken

Suchen Sie nach Dateien, die ausführbar, aber nicht lesbar sind.

gefunden . -Dauerwelle 664

Suchen Sie nach Dateien, die für ihren Besitzer und ihre Gruppe Lese- und Schreibberechtigungen haben, aber
die andere Benutzer lesen, aber nicht schreiben können. Dateien, die diese Kriterien erfüllen, aber haben
Andere gesetzte Berechtigungsbits (z. B. wenn jemand die Datei ausführen kann) werden nicht gesetzt
abgestimmt.

gefunden . -Dauerwelle -664

Suchen Sie nach Dateien, die für ihren Besitzer und ihre Gruppe Lese- und Schreibberechtigungen haben und die
Andere Benutzer können lesen, ohne Rücksicht auf das Vorhandensein zusätzlicher Berechtigungsbits (z
Beispiel das ausführbare Bit). Dies entspricht beispielsweise einer Datei mit dem Modus 0777.

gefunden . -Dauerwelle / 222

Suchen Sie nach Dateien, die von jemandem (ihrem Besitzer, ihrer Gruppe oder irgendjemandem) beschreibbar sind
sonst).

gefunden . -Dauerwelle / 220
gefunden . -Dauerwelle /u+w,g+w
gefunden . -Dauerwelle /u=w,g=w

Alle drei dieser Befehle bewirken dasselbe, aber der erste verwendet das Oktal
Darstellung des Dateimodus, und die anderen beiden verwenden die symbolische Form. Diese Befehle
Alle suchen nach Dateien, die entweder von ihrem Besitzer oder ihrer Gruppe beschreibbar sind. Die Dateien
Sie müssen nicht sowohl für den Besitzer als auch für die Gruppe beschreibbar sein, um zugeordnet zu werden. beides funktioniert.

gefunden . -Dauerwelle -220
gefunden . -Dauerwelle -g+w,u+w

Beide Befehle bewirken dasselbe; Suchen Sie nach Dateien, die von beiden beschreibbar sind
Besitzer und seine Gruppe.

gefunden . -Dauerwelle -444 -Dauerwelle / 222 ! -Dauerwelle / 111
gefunden . -Dauerwelle -a+r -Dauerwelle /a+w ! -Dauerwelle /a+x

Diese beiden Befehle suchen beide nach Dateien, die für jedermann lesbar sind ( -Dauerwelle -444 or
-Dauerwelle -a+r), muss mindestens ein Schreibbit gesetzt sein ( -Dauerwelle / 222 or -Dauerwelle /a+w), sind es aber nicht
für jedermann ausführbar ( ! -Dauerwelle / 111 und ! -Dauerwelle /a+x beziehungsweise).

cd /Quellenverzeichnis
gefunden . -Name .Schnappschuss -Pflaume -o \( \! -Name *~ -print0 \)|
CPIO -pmd0 /Zielverzeichnis

Dieser Befehl kopiert den Inhalt von /Quellenverzeichnis zu /Zielverzeichnis, lässt aber Dateien und weg
Verzeichnisse benannt .Schnappschuss (und alles darin). Außerdem werden Dateien oder Verzeichnisse weggelassen
dessen Name auf endet ~, aber nicht deren Inhalt. Das Konstrukt -Pflaume -o \( ... -print0 \)
ist durchaus üblich. Die Idee hier ist, dass der Ausdruck vorher -Pflaume passt zu Dingen, die
sollen beschnitten werden. Allerdings ist die -Pflaume Die Aktion selbst gibt true zurück, also Folgendes -o
stellt sicher, dass die rechte Seite nur für die Verzeichnisse ausgewertet wird, die nicht empfangen wurden
bereinigt (der Inhalt der bereinigten Verzeichnisse wird nicht einmal besucht, ihre Inhalte jedoch schon).
irrelevant). Der Ausdruck auf der rechten Seite des -o steht nur in Klammern für
Klarheit. Es betont, dass die -print0 Aktion findet nur für Dinge statt, die nicht geschehen sind
haben -Pflaume auf sie angewendet. Weil die Standardbedingung „und“ zwischen Tests mehr bindet
fest als -o, das ist sowieso die Standardeinstellung, aber die Klammern helfen, zu zeigen, was es ist
am Laufen.

gefunden repo/ -Exec Test -d {}/.svn \; -Oder \
-Exec Test -d {}/.git \; -Oder -Exec Test -d {}/CVS \; \
-drucken -Pflaume

Angesichts des folgenden Verzeichnisses von Projekten und der zugehörigen SCM-Verwaltung
Verzeichnisse führen Sie eine effiziente Suche nach den Wurzeln der Projekte durch:

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

In diesem Beispiel -Pflaume verhindert unnötigen Abstieg in bereits vorhandene Verzeichnisse
entdeckt wurde (zum Beispiel durchsuchen wir project3/src nicht, weil wir es bereits gefunden haben
project3/.svn), stellt aber sicher, dass Geschwisterverzeichnisse (project2 und project3) gefunden werden.

EXIT STATUS


gefunden Wird mit dem Status 0 beendet, wenn alle Dateien erfolgreich verarbeitet wurden, bei Fehlern mit einem Wert größer 0
geschehen. Dies ist bewusst eine sehr breite Beschreibung, aber wenn der Rückgabewert nicht
Null, Sie sollten sich nicht auf die Richtigkeit der Ergebnisse verlassen gefunden.

Wenn ein Fehler auftritt, gefunden kann sofort anhalten, ohne dass alle Aktionen abgeschlossen sind
angegeben. Beispielsweise könnten einige Ausgangspunkte noch nicht geprüft worden sein oder andere stehen noch aus
Programmaufrufe für -Exec ... {} + or -execdir ... {} + möglicherweise nicht durchgeführt worden.

Verwenden Sie die Online-Suche mithilfe der Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad