EnglezăFrancezăSpaniolă

Ad


Favicon OnWorks

găsi - Online în Cloud

Rulați găsiți în furnizorul de găzduire gratuit OnWorks prin Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

Aceasta este comanda find care poate fi rulată în furnizorul de găzduire gratuit OnWorks folosind una dintre multiplele noastre stații de lucru online gratuite, cum ar fi Ubuntu Online, Fedora Online, emulator online Windows sau emulator online MAC OS

PROGRAM:

NUME


find - caută fișiere într-o ierarhie de directoare

REZUMAT


găsi [-H] [-L] [-P] [-D depanează] [-Olevel] [punctul de pornire...] [expresie]

DESCRIERE


Această pagină de manual documentează versiunea GNU a găsi. GNU găsi caută în arborele de directoare
înrădăcinat la fiecare punct de plecare dat prin evaluarea expresiei date de la stânga la dreapta,
conform regulilor de prioritate (vezi secțiunea OPERATORI), până când rezultatul este cunoscut
(partea stângă este falsă pentru și operațiuni, adevărat pentru or), moment în care găsi mişcă
la următorul nume de fișier. Dacă nu este specificat niciun punct de plecare, `.' este asumat.

Dacă utilizați găsi într-un mediu în care securitatea este importantă (de exemplu, dacă dvs
îl folosesc pentru a căuta directoare care pot fi scrise de alți utilizatori), ar trebui să citiți
Capitolul „Considerații de securitate” din documentația findutils, care se numește Găsire
Fişiere și vine cu findutils. Acest document include, de asemenea, mult mai multe detalii și
discuție decât această pagină de manual, așa că s-ar putea să o găsiți o sursă mai utilă de informații.

OPŢIUNI


-H, -L și -P opțiunile controlează tratarea legăturilor simbolice. Argumente din linia de comandă
după acestea sunt considerate nume de fișiere sau directoare care urmează să fie examinate, până la
primul argument care începe cu `-' sau argumentul `(' sau `!'. Acel argument și orice
următoarele argumente sunt considerate expresia care descrie ceea ce trebuie căutat.
Dacă nu sunt date căi, se utilizează directorul curent. Dacă nu este dată nicio expresie,
expresie -imprimare este folosit (dar probabil că ar trebui să luați în considerare utilizarea -print0 in schimb,
oricum).

Această pagină de manual vorbește despre „opțiuni” din lista de expresii. Aceste opțiuni controlează
comportamentul lui găsi dar sunt specificate imediat după numele ultimului cale. Cinci-ul
opțiuni „reale”. -H, -L, -P, -D și -O trebuie să apară înaintea numelui primei căi, dacă este deloc. A
liniuță dublă -- poate fi folosit și pentru a semnala că orice argument rămas nu sunt opțiuni
(deși asigurarea faptului că toate punctele de pornire încep fie cu `./' sau `/' este, în general, mai sigură dacă
utilizați metacaractere în lista punctelor de pornire).

-P Nu urmați niciodată link-uri simbolice. Acesta este comportamentul implicit. Când găsi examinează sau
imprimă informații un fișier, iar fișierul este o legătură simbolică, informațiile utilizate
vor fi luate din proprietățile verigii simbolice în sine.

-L Urmați legăturile simbolice. Când găsi examinează sau imprimă informații despre fișiere,
informațiile utilizate vor fi preluate din proprietățile fișierului către care se face legătura
puncte, nu de la legătura în sine (cu excepția cazului în care este o legătură simbolică ruptă sau găsi is
imposibil de examinat fișierul către care trimite legătura). Utilizarea acestei opțiuni implică
-noleaf. Dacă mai târziu utilizați -P opțiune, -noleaf va fi încă în vigoare. Dacă -L
este în vigoare și găsi descoperă o legătură simbolică către un subdirector în timpul acestuia
căutare, subdirectorul indicat de linkul simbolic va fi căutat.

Cand -L opțiunea este în vigoare, the -Tip predicatul se va potrivi întotdeauna cu
tipul de fișier către care indică un link simbolic, mai degrabă decât linkul în sine (cu excepția cazului în care
legătura simbolică este ruptă). Acțiuni care pot determina să devină legături simbolice
rupt în timp ce găsi se execută (de exemplu -șterge) poate da naștere la confuzie
comportament. Folosind -L provoacă -numele și -ilname predicatele să revină mereu
fals.

-H Nu urmați legăturile simbolice, decât în ​​timpul procesării argumentelor liniei de comandă.
Cand găsi examinează sau imprimă informații despre fișiere, informațiile utilizate vor fi
luate din proprietăţile verigii simbolice în sine. Singura excepție de la aceasta
comportamentul este atunci când un fișier specificat pe linia de comandă este o legătură simbolică și
linkul poate fi rezolvat. Pentru această situație, informațiile folosite sunt preluate din
indiferent la care indică linkul (adică linkul este urmat). Informațiile despre
linkul în sine este folosit ca alternativă dacă fișierul indicat de legătura simbolică
nu poate fi examinat. Dacă -H este în vigoare și una dintre căile specificate pe
linia de comandă este o legătură simbolică către un director, conținutul acelui director va fi
fi examinat (deși desigur -maxdepth 0 ar împiedica acest lucru).

Dacă mai mult de unul dintre -H, -L și -P este specificat, fiecare le depășește pe celelalte; ultimul
care apare pe linia de comandă are efect. Deoarece este implicit, -P opțiunea ar trebui
să fie considerată ca fiind în vigoare, cu excepția cazului în care oricare -H or -L este specificat.

GNU găsi frecvent fișierele statistice în timpul procesării liniei de comandă în sine, înainte
orice căutare a început. Aceste opțiuni afectează și modul în care sunt procesate acele argumente.
Mai exact, există o serie de teste care compară fișierele listate pe linia de comandă
împotriva unui dosar pe care îl luăm în considerare în prezent. În fiecare caz, fișierul specificat pe
linia de comandă va fi examinată și unele dintre proprietățile sale vor fi salvate. Dacă
fișierul numit este de fapt o legătură simbolică, iar fișierul -P opțiunea este în vigoare (sau dacă nici una
-H nici -L au fost specificate), informațiile utilizate pentru comparație vor fi preluate din
proprietăţile legăturii simbolice. În caz contrar, va fi luat din proprietățile
arhivă link-ul către. Dacă găsi nu pot urma linkul (de exemplu pentru că are
privilegii insuficiente sau linkul indică către un fișier inexistent) proprietățile
linkul în sine va fi folosit.

Cand -H or -L Opțiuni sunt in efect, Orice simbolic Link-uri enumerate ca argument al
-mai nou vor fi dereferențiate, iar marcajul de timp va fi preluat din fișierul în care
puncte de legătură simbolică. Aceeași considerație se aplică și pentru -mai nouXY, -încă mai și -cnewer.

-urma opțiunea are un efect similar cu -L, deși intră în vigoare în punctul în care
apare (adică dacă -L nu este folosit dar -urma este, orice legături simbolice care apar după
-urma pe linia de comandă vor fi dereferențiate, iar cei de dinainte nu).

-D opțiuni de depanare
Tipăriți informații de diagnosticare; acest lucru poate fi util pentru a diagnostica problemele cu de ce
găsi nu face ceea ce vrei tu. Lista de opțiuni de depanare ar trebui să fie virgulă
separat. Compatibilitatea opțiunilor de depanare nu este garantată între versiuni
de findutils. Pentru o listă completă a opțiunilor de depanare valide, consultați rezultatul găsi
-D ajutor. Opțiunile de depanare valide includ

ajutor Explicați opțiunile de depanare

arbore Afișează arborele de expresie în forma sa originală și optimizată.

stat Imprimați mesajele pe măsură ce fișierele sunt examinate cu Stat și lstat apeluri de sistem.
găsi programul încearcă să minimizeze astfel de apeluri.

opt Tipărește informații de diagnostic referitoare la optimizarea expresiei
copac; vezi opțiunea -O.

rate Afișează un rezumat care indică cât de des a reușit sau eșuat fiecare predicat.

-Olevel
Permite optimizarea interogărilor. The găsi programul reordonează testele pentru a accelera execuția
păstrând în același timp efectul general; adică predicate cu efecte secundare nu sunt
reordonate unul față de celălalt. Optimizările efectuate la fiecare optimizare
nivelul sunt după cum urmează.

0 Echivalent cu nivelul de optimizare 1.

1 Acesta este nivelul de optimizare implicit și corespunde celui tradițional
comportament. Expresiile sunt reordonate astfel încât testele se bazează numai pe nume
de fișiere (de exemplu -Yam și -regex) sunt efectuate mai întâi.

2 Oricare -Tip or -xtype testele sunt efectuate după orice teste bazate numai pe
numele fișierelor, dar înaintea oricăror teste care necesită informații de la
inodul. Pe multe versiuni moderne de Unix, tipurile de fișiere sunt returnate de
readdir() și astfel aceste predicate sunt mai rapid de evaluat decât predicate
care trebuie să indice mai întâi fișierul. Dacă utilizați -fstype FOO predicat şi
specificați un tip de sistem de fișiere FOO care nu este cunoscut (adică prezent în
`/ etc / mtab') la momentul găsi începe, acel predicat este echivalent cu
-fals.

3 La acest nivel de optimizare, optimizatorul complet de interogări bazat pe cost este activat.
Ordinea testelor este modificată astfel încât să fie efectuate teste ieftine (adică rapide).
primele și cele mai scumpe sunt efectuate ulterior, dacă este necesar. În
fiecare bandă de cost, predicate sunt evaluate mai devreme sau mai târziu conform
indiferent dacă sunt probabil să reușească sau nu. Pentru -o, predicate care sunt
susceptibile de a reusi sunt evaluate mai devreme, iar pentru -a, predicate care sunt
probabil să eșueze sunt evaluate mai devreme.

Optimizatorul bazat pe costuri are o idee fixă ​​despre cât de probabil este să facă un anumit test
a reusi. În unele cazuri, probabilitatea ține cont de natura specifică a
test (de exemplu, -Tip f se presupune că are mai multe șanse de a reuși decât -Tip c).
Optimizatorul bazat pe costuri este în prezent în curs de evaluare. Dacă de fapt nu
îmbunătăți performanța găsi, va fi eliminat din nou. Invers,
optimizările care se dovedesc a fi fiabile, robuste și eficiente pot fi activate la
niveluri de optimizare mai scăzute în timp. Cu toate acestea, comportamentul implicit (de ex
nivelul de optimizare 1) nu va fi modificat în seria de lansări 4.3.x. The
suita de teste findutils rulează toate testele pe găsi la fiecare nivel de optimizare şi
se asigură că rezultatul este același.

EXPRESIE


Partea liniei de comandă de după lista punctelor de pornire este expresie. Acest lucru este
un fel de specificație de interogare care descrie cum potrivim fișierele și ce facem cu fișierele
care au fost potrivite. O expresie este compusă dintr-o succesiune de lucruri:

Teste Testele returnează o valoare adevărată sau falsă, de obicei pe baza unei proprietăți a unui fișier
luăm în considerare. The -gol test, de exemplu, este adevărat numai atunci când fișierul curent
este gol.

Acţiuni
Acțiunile au efecte secundare (cum ar fi imprimarea a ceva pe rezultatul standard) și
returnează fie adevărat, fie fals, de obicei în funcție de succesul sau nu.
-imprimare acțiune, de exemplu, imprimă numele fișierului curent pe standard
ieșire.

Opțiuni globale
Opțiunile globale afectează funcționarea testelor și acțiunilor specificate pe orice parte a
linia de comandă. Opțiunile globale revin întotdeauna adevărate. The -adâncime opțiune pentru
exemplu face găsi parcurgeți sistemul de fișiere într-o ordine în profunzime.

Opțiuni de poziție
Opțiunile poziționale afectează numai testele sau acțiunile care le urmează. Pozițional
opțiunile revin întotdeauna adevărate. The -regextype opțiunea, de exemplu, este pozițională,
specificând dialectul expresiei regulate pentru expresiile regulate care apar ulterior
pe linia de comandă.

Operatorii
Operatorii unesc celelalte elemente din expresie. Acestea includ pentru
exemplu -o (adică SAU logic) și -a (adică ȘI logic). Unde este un operator
dispărut, -a este asumat.

Dacă întreaga expresie nu conține alte acțiuni decât -prună uscată or -imprimare, -imprimare is
efectuat pe toate fișierele pentru care întreaga expresie este adevărată.

-șterge acțiunea acționează și ca o opțiune (deoarece implică -adâncime).

POZIȚIONALĂ OPŢIUNI
Opțiunile poziționale revin întotdeauna adevărate. Acestea afectează numai testele care au loc mai târziu
Linie de comanda.

-începutul zilei
Măsurați timpii (pentru -amin, -o vreme, -cmin, -ctime, -mmin, și -mtime) de la
începutul de astăzi și nu de acum 24 de ore. Această opțiune afectează numai testele
care apar ulterior pe linia de comandă.

-urma
Depreciat; folosește -L opțiune în schimb. Dereferirea legăturilor simbolice. implică
-noleaf. -urma opțiunea afectează numai acele teste care apar după ea pe
Linie de comanda. Cu excepția cazului în care -H or -L a fost specificată opțiunea, poziția
-urma opțiunea modifică comportamentul -mai nou predicat; orice fișiere listate ca
argumentul lui -mai nou vor fi dereferențiate dacă sunt legături simbolice. La fel
luarea în considerare se aplică -mai nouXY, -încă mai și -cnewer. În mod similar, -Tip
predicatul se va potrivi întotdeauna cu tipul de fișier care o legătură simbolică
indică mai degrabă decât legătura în sine. Folosind -urma provoacă -numele și -ilname
predicatele revin întotdeauna false.

-regextype tip
Modifică sintaxa expresiei regulate înțeleasă de -regex și -iregex teste care
apar mai târziu pe linia de comandă. Pentru a vedea ce tipuri de expresii regulate sunt cunoscute,
utilizare -regextype ajutor. Documentația Texinfo (vezi VEZI SAU) explică sensul
de și diferențele dintre diferitele tipuri de expresii regulate.

-avertiza, -nu avertiza
Activați sau dezactivați mesajele de avertizare. Aceste avertismente se aplică numai liniei de comandă
utilizare, nu la orice condiții care găsi poate întâlni atunci când caută
directoare. Comportamentul implicit îi corespunde -a avertiza dacă intrarea standard este a
tty, și să - acum avertizează in caz contrar. Dacă un mesaj de avertizare legat de utilizarea liniei de comandă
este produs, starea de ieșire a găsi nu este afectat. Dacă POSIXLY_CORRECT
variabila de mediu este setată și -a avertiza is de asemenea folosit, it is nu specificată care, if
orice, avertismente voi be activ.

GLOBAL OPŢIUNI
Opțiunile globale revin întotdeauna adevărate. Opțiunile globale intră în vigoare chiar și pentru testele care au loc
mai devreme pe linia de comandă. Pentru a preveni confuzia, opțiunile globale ar trebui specificate pe
linia de comandă după lista punctelor de pornire, chiar înainte de primul test, opțiune pozițională
sau acțiune. Dacă specificați o opțiune globală într-un alt loc, găsi va emite un avertisment
mesaj care explică că acest lucru poate fi confuz.

Opțiunile globale apar după lista de puncte de început și, prin urmare, nu sunt de același tip
opțiune ca -L, De exemplu.

-d Un sinonim pentru -depth, pentru compatibilitate cu FreeBSD, NetBSD, MacOS X și OpenBSD.

-depth Procesează conținutul fiecărui director înainte de directorul însuși. Acțiunea -delete
implică de asemenea -adâncime.

-ajutor ajutor
Imprimați un rezumat al utilizării liniei de comandă a găsi și ieșire.

-ignore_readdir_race
In mod normal, găsi va emite un mesaj de eroare atunci când nu reușește să indice un fișier. daca tu
dați această opțiune și un fișier este șters între timp găsi citește numele
fișier din director și timpul în care încearcă să indice fișierul, fără mesaj de eroare
Va fi emis. Acest lucru se aplică și fișierelor sau directoarelor ale căror nume sunt date
pe linia de comandă. Această opțiune are efect în momentul în care se află linia de comandă
citiți, ceea ce înseamnă că nu puteți căuta o parte a sistemului de fișiere cu aceasta
opțiune activată și o parte din ea cu această opțiune dezactivată (dacă trebuie să faceți asta, o veți face
trebuie să emit două găsi comenzi în schimb, una cu opțiune și una fără ea).

-adancime maxima nivelurile de
Coborâți cel mult nivelurile de (un întreg nenegativ) niveluri de directoare sub
puncte de plecare. -adancime maxima 0
înseamnă să aplicați testele și acțiunile doar la punctele de plecare în sine.

-profunzimea mintii nivelurile de
Nu aplicați teste sau acțiuni la niveluri mai mici decât nivelurile de (un nenegativ
întreg). -profunzimea mintii 1 înseamnă că procesează toate fișierele, cu excepția punctelor de pornire.

-mount Nu coborâți directoare pe alte sisteme de fișiere. Un nume alternativ pentru -xdev, Pentru
compatibilitate cu alte versiuni ale găsi.

-noignore_readdir_race
Dezactivează efectul de -ignore_readdir_race.

-noleaf
Nu optimizați presupunând că directoarele conțin cu 2 subdirectoare mai puține decât
numărul lor de hard link. Această opțiune este necesară atunci când căutați sisteme de fișiere care o fac
nu urmează convenția Unix de legătură cu directorul, cum ar fi sistemele de fișiere CD-ROM sau MS-DOS
sau puncte de montare a volumului AFS. Fiecare director dintr-un sistem de fișiere Unix normal are la
cel puțin 2 link-uri hard: numele și `.' intrare. În plus, subdirectoarele sale
(dacă există) fiecare are o intrare „..” legată de acel director. Când găsi examinează a
director, după ce a indicat cu 2 subdirectoare mai puține decât link-ul directorului
count, știe că restul intrărilor din director sunt non-directoare
(fișierele „frunză” în arborele de directoare). Dacă doar numele fișierelor trebuie să fie
examinate, nu este nevoie să le enunțați; aceasta dă o creștere semnificativă a
viteza de cautare.

-versiune, --versiune
Imprimați găsi numărul versiunii și ieșire.

-xdev Nu coborâți directoare pe alte sisteme de fișiere.

ÎNCERCĂRI
Unele teste, de exemplu -mai nouXY și -acelasi fisier, permite compararea între fișier
în curs de examinare și un fișier de referință specificat pe linia de comandă. Când
se folosesc aceste teste, interpretarea dosarului de referinţă este determinată de
Opțiuni -H, -L și -P și orice anterioară -urma, dar dosarul de referință este doar examinat
o dată, în momentul în care linia de comandă este analizată. Dacă dosarul de referință nu poate fi examinat
(de exemplu, Stat(2) apelul de sistem eșuează), este emis un mesaj de eroare și găsi
ieșiri cu o stare diferită de zero.

Argumentele numerice pot fi specificate ca

+n pentru mai mare decât n,

-n pentru mai puțin de n,

n pentru exact n.

-amin n
Fișierul a fost accesat ultima dată n minute în urmă.

-încă mai fişier
Fișierul a fost accesat ultima dată mai recent decât fişier a fost modificat. Dacă fişier este un simbolic
link și -H sau opțiunea -L opțiunea este în vigoare, timpul de acces al fișierului
se folosește întotdeauna.

-o vreme n
Fișierul a fost accesat ultima dată n*acum 24 de ore. Când află cifrele câte 24 de ore
cu perioade în urmă, fișierul a fost accesat ultima dată, orice parte fracțională este ignorată, deci pentru a se potrivi
-o vreme +1, un fișier trebuie să fi fost accesat cel puțin Două zile în urmă.

-cmin n
Starea fișierului a fost modificată ultima dată n minute în urmă.

-cnewer fişier
Starea fișierului a fost modificată ultima dată mai recent decât fişier a fost modificat. Dacă fişier este
legătura simbolică și -H sau opțiunea -L opțiunea este în vigoare, schimbarea de stare
ora fișierului către care indică este întotdeauna folosită.

-ctime n
Starea fișierului a fost modificată ultima dată n*acum 24 de ore. Vezi comentariile pentru -o vreme la
înțelegeți modul în care rotunjirea afectează interpretarea timpilor de schimbare a stării fișierului.

-empty Fișierul este gol și este fie un fișier obișnuit, fie un director.

-executabil
Potrivește fișierele care sunt executabile și directoarele care pot fi căutate (într-un fișier
sens rezoluție nume). Aceasta ia în considerare listele de control al accesului și altele
permisiuni artefacte pe care -permanent testul ignoră. Acest test folosește
acces(2) apel de sistem și, prin urmare, poate fi păcălit de serverele NFS care fac maparea UID (sau
root-squashing), deoarece multe sisteme implementează acces(2) în nucleul clientului și
deci nu pot folosi informațiile de mapare UID deținute pe server. Pentru că asta
testul se bazează numai pe rezultatul acces(2) apel de sistem, nu există
garanta că un fișier pentru care acest test reușește poate fi efectiv executat.

-false Întotdeauna fals.

-fstype tip
Fișierul se află pe un sistem de fișiere de tip tip. Tipurile de sisteme de fișiere valide variază între
diferite versiuni de Unix; o listă incompletă de tipuri de sisteme de fișiere care sunt
acceptat pe o anumită versiune de Unix sau alta este: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K,
S52K. Poți să folosești -printf cu directiva %F pentru a vedea tipurile dvs
sisteme de fișiere.

-gid n ID-ul grupului numeric al fișierului este n.

-grup gname
Fișierul aparține grupului gname (identificarea grupului numeric permis).

-ilname model
Aprecieri -numele, dar potrivirea nu face distincție între majuscule și minuscule. Dacă -L sau opțiunea -urma
opțiunea este în vigoare, acest test returnează false cu excepția cazului în care legătura simbolică este întreruptă.

-nume model
Aprecieri -Yam, dar potrivirea nu face distincție între majuscule și minuscule. De exemplu, modelele „fo*” și
`F??' potriviți numele fișierelor `Foo', `FOO', `foo', `foo' etc. Modelul `*foo*`
se va potrivi și cu un fișier numit „.foobar”.

au baut n
Fișierul are un număr de inod n. În mod normal, este mai ușor de utilizat -acelasi fisier testează în schimb.

-ipath model
Aprecieri -cale. dar potrivirea nu face distincție între majuscule și minuscule.

-iregex model
Aprecieri -regex, dar potrivirea nu face distincție între majuscule și minuscule.

-numele intreg model
Vezi -ipath. Această alternativă este mai puțin portabilă decât -ipath.

-linkuri n
Dosarul are n link-uri.

-numele model
Fișierul este un link simbolic al cărui conținut se potrivește cu modelul shell-ului model.
metacaracterele nu tratează `/' sau `.' special. Dacă -L sau opțiunea -urma
opțiunea este în vigoare, acest test returnează false cu excepția cazului în care legătura simbolică este întreruptă.

-mmin n
Datele fișierului au fost modificate ultima dată n minute în urmă.

-mtime n
Datele fișierului au fost modificate ultima dată n*acum 24 de ore. Vezi comentariile pentru -o vreme la
înțelegeți modul în care rotunjirea afectează interpretarea timpilor de modificare a fișierelor.

-Yam model
Baza numelui fișierului (calea cu directoarele principale eliminate) se potrivește cu shell
model model. Deoarece directoarele principale sunt eliminate, numele fișierelor
considerat pentru un meci cu -Yam nu va include niciodată o bară oblică, deci `-name a/b' va include
nu se potrivește niciodată cu nimic (probabil trebuie să utilizați -cale in schimb). Se emite un avertisment
dacă încercați să faceți acest lucru, cu excepția cazului în care variabila de mediu POSIXLY_CORRECT este setată. The
metacaracterele (`*', `?' și `[]') se potrivesc cu un `.' la începutul numelui de bază (acest
este o modificare în findutils-4.2.2; vezi secțiunea CONFORMITATE STANDARDE de mai jos). La
ignora un director și fișierele de sub acesta, folosește -prună uscată; vezi un exemplu în
descrierea -cale. Bretele nu sunt recunoscute ca fiind speciale, în ciuda faptului
că unele scoici, inclusiv Bash, conferă bretele cu o semnificație specială în coajă
modele. Potrivirea numelui de fișier se realizează cu ajutorul fișierului fnmatch(3)
funcția de bibliotecă. Nu uitați să includeți modelul între ghilimele pentru a
protejați-l de expansiune de către carcasă.

-mai nou fişier
Fișierul a fost modificat mai recent decât fişier. Dacă fişier este o legătură simbolică și -H
sau opțiunea -L opțiunea este în vigoare, ora de modificare a fișierului pe care îl indică
to este întotdeauna folosit.

-mai nouXY referință
Reușește dacă marca temporală X al fișierului luat în considerare este mai nou decât marcajul de timp Y of
fișierul referință. Scrisorile X și Y poate fi oricare dintre următoarele litere:

a Timpul de acces al fișierului referință
B Ora nașterii fișierului referință
c Timpul de schimbare a stării inodului de referință

m Ora de modificare a fișierului referință
t referință este interpretat direct ca un timp

Unele combinații sunt invalide; de exemplu, este invalid pentru X pentru a fi t. Unele
combinațiile nu sunt implementate pe toate sistemele; de exemplu B nu este suportat pe
toate sistemele. Dacă o combinație nevalidă sau neacceptată de XY este specificat, un fatal
rezultate de eroare. Specificațiile de timp sunt interpretate ca pentru argumentul la -d
opțiunea GNU data. Dacă încercați să utilizați ora nașterii unui fișier de referință și
ora nașterii nu poate fi determinată, rezultă un mesaj de eroare fatal. Dacă specificați a
test care se referă la ora nașterii fișierelor examinate, acest test va eșua
pentru orice fișiere în care ora nașterii este necunoscută.

- fără grup
Niciun grup nu corespunde ID-ului de grup numeric al fișierului.

-nouser
Niciun utilizator nu corespunde cu ID-ul de utilizator numeric al fișierului.

-cale model
Numele fișierului se potrivește cu modelul shell-ului model. Metacaracterele nu tratează `/' sau
`.' special; deci, de exemplu,
găsi . -cale "./sr*sc"
va tipări o intrare pentru un director numit `./src/misc' (dacă există unul). A ignora
un întreg arbore de directoare, folosiți -prună uscată mai degrabă decât să verifici fiecare fișier din arbore.
De exemplu, pentru a sări peste directorul `src/emacs' și toate fișierele și directoarele de sub
și tipăriți numele celorlalte fișiere găsite, faceți ceva de genul acesta:
găsi . -cale ./src/emacs -prune -o -print
Rețineți că testul de potrivire a modelului se aplică întregului nume de fișier, începând de la unul
a punctelor de pornire numite pe linia de comandă. Ar avea sens doar să folosești un
numele căii absolute aici dacă punctul de pornire relevant este, de asemenea, o cale absolută. Acest
înseamnă că această comandă nu se va potrivi niciodată cu nimic:
găsiți bara -path /foo/bar/myfile -print
Găsiți compară -cale argument cu concatenarea unui nume de director și
numele de bază al fișierului pe care îl examinează. Deoarece concatenarea nu se va termina niciodată cu
o tăietură, -cale argumentele care se termină cu o bară oblică nu se vor potrivi cu nimic (cu excepția poate a
punctul de pornire specificat pe linia de comandă). Predicatul -cale este de asemenea suportat
de HP-UX găsi și va fi într-o versiune viitoare a standardului POSIX.

-permanent mod
Biții de permisiune ai fișierului sunt exact mod (octal sau simbolic). Din moment ce o potrivire exactă
este necesar, dacă doriți să utilizați acest formular pentru moduri simbolice, poate fi necesar
specificați un șir de mod destul de complex. De exemplu, „-perm g=w” se va potrivi numai
fișierele care au modul 0020 (adică cele pentru care permisiunea de scriere de grup este
doar setat de permisiuni). Este mai probabil să doriți să utilizați `/' sau `-'
forme, de exemplu `-perm -g=w', care se potrivește cu orice fișier cu scriere de grup
permisiune. Vezi EXEMPLE secțiune pentru câteva exemple ilustrative.

-perm -mod
Toți biții de permisiune mod sunt setate pentru fișier. Modurile simbolice sunt acceptate
în această formă și, de obicei, acesta este modul în care ați dori să le utilizați. Tu
trebuie să specificați „u”, „g” sau „o” dacă utilizați un mod simbolic. Vezi EXEMPLE secțiune
pentru câteva exemple ilustrative.

-perm /mod
Oricare dintre biții de permisiune mod sunt setate pentru fișier. Modurile simbolice sunt acceptate
în această formă. Trebuie să specificați „u”, „g” sau „o” dacă utilizați un mod simbolic. Vedea
il EXEMPLE secțiune pentru câteva exemple ilustrative. Dacă nicio permisiune nu intră mod
sunt setate, acest test se potrivește cu orice fișier (ideea aici este să fie în concordanță cu
comportament al -permanent -000).

-perm +mod
Acest lucru nu mai este acceptat (și a fost depreciat din 2005). Utilizare -permanent /mod
in schimb.

- lizibil
Se potrivește cu fișierele care pot fi citite. Aceasta ia în considerare listele de control al accesului și
alte permisiuni artefacte pe care -permanent testul ignoră. Acest test folosește
il acces(2) apel de sistem și astfel poate fi păcălit de serverele NFS care fac maparea UID
(sau rădăcină-squashing), deoarece multe sisteme implementează acces(2) în nucleul clientului
și, prin urmare, nu poate utiliza informațiile de mapare UID deținute pe server.

-regex model
Numele fișierului se potrivește cu expresia regulată model. Acesta este un meci pe tot drumul,
nu o căutare. De exemplu, pentru a potrivi un fișier numit `./fubar3', puteți utiliza
expresia regulată `.*bar.' sau `.*b.*3', dar nu `f.*r3'. Expresiile regulate
înțeles de găsi sunt implicit expresii regulate Emacs, dar acest lucru poate fi
schimbat cu -regextype opțiune.

-acelasi fisier nume
Fișierul se referă la același inod ca nume. Când -L este în vigoare, aceasta poate include
legături simbolice.

-mărimea n[cwbkMG]
Utilizări ale fișierelor n unități de spațiu, rotunjirea în sus. Se pot folosi următoarele sufixe:

`b' pentru blocuri de 512 de octeți (aceasta este valoarea implicită dacă nu este folosit niciun sufix)

`c' pentru octeți

„w” pentru cuvinte de doi octeți

`k' pentru Kilobytes (unități de 1024 de octeți)

„M” pentru megaocteți (unități de 1048576 de octeți)

„G” pentru gigaocteți (unități de 1073741824 de octeți)

Dimensiunea nu contează blocurile indirecte, dar numără blocurile din fișierele rare
care nu sunt efectiv alocate. Rețineți că formatul „%k” și „%b”.
specificatorii de -printf gestionați fișierele rare în mod diferit. Sufixul „b” întotdeauna
denotă blocuri de 512 octeți și niciodată blocuri de 1 kilooctet, care este diferit de
comportament al -ls.

Prefixele + și - înseamnă mai mare decât și mai puțin decât, ca de obicei. Ține minte
că mărimea este rotunjită la unitatea următoare. Prin urmare -mărimea -1M nu este echivalent
la -mărimea -1048576c. Primul se potrivește doar cu fișierele goale, cel de-al doilea se potrivește cu fișierele
de la 1 la 1,048,575 de octeți.

-adevărat Întotdeauna adevărat.

-Tip c
Fișierul este de tip c:

b bloc (buffered) special

caracterul c (nebufferat) special

directorul d

p conductă denumită (FIFO)

f fișier obișnuit

l legătură simbolică; acest lucru nu este niciodată adevărat dacă -L sau opțiunea -urma opțiunea este
de fapt, cu excepția cazului în care legătura simbolică este ruptă. Daca vrei sa cauti
legături simbolice când -L este în vigoare, folosește -xtype.

priza s

Ușă D (Solaris)

-uid n ID-ul de utilizator numeric al fișierului este n.

-folosit n
Fișierul a fost accesat ultima dată n zile după ultima modificare a statutului său.

-utilizator uname
Fișierul este deținut de utilizator uname (ID-ul de utilizator numeric permis).

-nume întreg model
Vezi -cale. Această alternativă este mai puțin portabilă decât -cale.

-inscriptibil
Potrivește fișierele care pot fi scrise. Aceasta ia în considerare listele de control al accesului și
alte permisiuni artefacte pe care -permanent testul ignoră. Acest test folosește
il acces(2) apel de sistem și astfel poate fi păcălit de serverele NFS care fac maparea UID
(sau rădăcină-squashing), deoarece multe sisteme implementează acces(2) în nucleul clientului
și, prin urmare, nu poate utiliza informațiile de mapare UID deținute pe server.

-xtype c
La fel ca -Tip cu excepția cazului în care fișierul este o legătură simbolică. Pentru legăturile simbolice: dacă
-H or -P a fost specificată opțiunea, adevărată dacă fișierul este o legătură către un fișier de tip c; dacă
il -L opțiunea a fost dată, adevărat dacă c este „l”. Cu alte cuvinte, pentru simbolic
link-uri, -xtype verifică tipul fișierului care -Tip nu verifică.

-context model
(Numai SELinux) Contextul de securitate al fișierului se potrivește cu glob model.

ACȚIUNI
-șterge
Sterge fisierele; adevărat dacă eliminarea a reușit. Dacă eliminarea a eșuat, un mesaj de eroare
este emis. Dacă -șterge eșuează, găsistarea de ieșire a lui va fi diferită de zero (când acesta
în cele din urmă iese). Utilizarea de -șterge pornește automat `-adâncime' opțiune.

Avertismente: Nu uitați că linia de comandă find este evaluată ca o expresie, deci
punând -șterge primul va face găsi încercați să ștergeți tot ce se află sub începutul
punctele specificate de tine. La testarea a găsi linia de comandă pe care intenționați să o faceți mai târziu
foloseste cu -șterge, ar trebui să specificați în mod explicit -adâncime pentru a evita mai târziu
surprize. pentru că -șterge implică -adâncime, nu puteți folosi cu folos -prună uscată și
-șterge împreună.

-exec comandă ;
Executa comandă; adevărat dacă se returnează starea 0. Toate următoarele argumente pentru găsi sunt
considerate a fi argumente pentru comandă până la un argument constând din `;' este
întâlnite. Șirul „{}” este înlocuit cu numele fișierului curent procesat
oriunde apare în argumentele comenzii, nu doar în argumentele unde
este singur, ca în unele versiuni ale găsi. Ambele construcții ar putea avea nevoie
să fie scăpat (cu un `\') sau citat pentru a le proteja de expansiunea de către cochilie.
A se vedea EXEMPLE secțiune pentru exemple de utilizare a -exec opțiune.
comanda specificată este executată o dată pentru fiecare fișier potrivit. Comanda este executată în
directorul de pornire. Există probleme de securitate inevitabile în jurul utilizării
a -exec acțiune; ar trebui să utilizați -execdir opțiune în schimb.

-exec comandă {} +
Această variantă a -exec acțiunea rulează comanda specificată pe fișierele selectate,
dar linia de comandă este construită prin adăugarea fiecărui nume de fișier selectat la sfârșit; cel
numărul total de invocări ale comenzii va fi mult mai mic decât numărul de
fișiere potrivite. Linia de comandă este construită aproape în același mod ca xargs construiește
liniile sale de comandă. Doar o singură instanță de „{}” este permisă în cadrul comenzii. The
comanda este executată în directorul de pornire. Dacă găsi întâmpină o eroare, aceasta
poate provoca uneori o ieșire imediată, așa că este posibil ca unele comenzi în așteptare să nu fie executate
toate. Această variantă a -exec se întoarce întotdeauna adevărat.

-execdir comandă ;

-execdir comandă {} +
Aprecieri -exec, dar comanda specificată este rulată din subdirectorul care conține fișierul
fișier potrivit, care în mod normal nu este directorul în care ați început găsi. Acest
o metodă mult mai sigură pentru invocarea comenzilor, deoarece evită condițiile de cursă
în timpul rezoluției căilor către fișierele potrivite. Ca și în cazul -exec acțiune, cel
forma `+' de -execdir va construi o linie de comandă pentru a procesa mai mult de o potrivire
dosar, dar orice invocare dată a comandă va lista numai fișierele care există în
același subdirector. Dacă utilizați această opțiune, trebuie să vă asigurați că dvs $ PATH
variabila de mediu nu face referire la `.'; în caz contrar, un atacator poate rula orice
comenzile care le plac lăsând un fișier cu numele corespunzător într-un director în care
vei alerga -execdir. Același lucru este valabil și pentru a avea intrări $ PATH care sunt goale
sau care nu sunt nume absolute de directoare. Dacă găsi întâmpină o eroare, aceasta poate
uneori provoacă o ieșire imediată, așa că unele comenzi în așteptare pot să nu fie executate deloc.
Rezultatul acțiunii depinde dacă + sau ; este folosită varianta;
-execdir comandă {} + se întoarce întotdeauna adevărat, în timp ce -execdir comandă {} ; revine adevărat
doar dacă comandă returnează 0.

-fls fişier
Adevărat; ca -ls dar scrie lui fişier ca -fprint. Fișierul de ieșire este întotdeauna creat,
chiar dacă predicatul nu se potrivește niciodată. Vezi NEOBIȘNUIT NUMELE DE FIȘIERE secțiune pentru
informații despre modul în care sunt tratate caracterele neobișnuite din numele fișierelor.

-fprint fişier
Adevărat; tipăriți numele complet al fișierului în fișier fişier. Dacă fişier nu există când găsi is
fugi, este creat; dacă există, se trunchiază. Numele fișierelor
`/dev/stdout' și `/dev/stderr' sunt manipulate special; se referă la standard
ieșire și, respectiv, ieșire de eroare standard. Fișierul de ieșire este întotdeauna creat,
chiar dacă predicatul nu se potrivește niciodată. Vezi NEOBIȘNUIT NUMELE DE FIȘIERE secțiune pentru
informații despre modul în care sunt tratate caracterele neobișnuite din numele fișierelor.

-fprint0 fişier
Adevărat; ca -print0 dar scrie lui fişier ca -fprint. Fișierul de ieșire este întotdeauna
creat, chiar dacă predicatul nu se potrivește niciodată. Vezi NEOBIȘNUIT NUMELE DE FIȘIERE secțiune
pentru informații despre modul în care sunt tratate caracterele neobișnuite din numele fișierelor.

-fprintf fişier format
Adevărat; ca -printf dar scrie lui fişier ca -fprint. Fișierul de ieșire este întotdeauna
creat, chiar dacă predicatul nu se potrivește niciodată. Vezi NEOBIȘNUIT NUMELE DE FIȘIERE secțiune
pentru informații despre modul în care sunt tratate caracterele neobișnuite din numele fișierelor.

-ls Adevărat; listează fișierul curent în ls -dils format pe ieșire standard. Blocul contează
sunt de 1K blocuri, cu excepția cazului în care variabila de mediu POSIXLY_CORRECT este setată, în care
case sunt utilizate blocuri de 512 octeți. Vezi NEOBIȘNUIT NUMELE DE FIȘIERE sectiune pentru informatii
despre modul în care sunt tratate caracterele neobișnuite din numele fișierelor.

-Bine comandă ;
Aprecieri -exec dar întrebați mai întâi utilizatorul. Dacă utilizatorul este de acord, rulați comanda. In caz contrar
doar returnează false. Dacă comanda este rulată, intrarea sa standard este redirecționată de la
/ Dev / null.

Răspunsul la prompt este comparat cu o pereche de expresii regulate to
stabiliți dacă este un răspuns afirmativ sau negativ. Această expresie regulată este
obţinut din sistem dacă este setată variabila de mediu `POSIXLY_CORRECT' sau
altfel de la găsitraducerile mesajelor lui. Dacă sistemul nu are un sistem adecvat
definiție, găsise va folosi propria definiție. În ambele cazuri,
interpretarea expresiei regulate în sine va fi afectată de mediu
variabilele „LC_CTYPE” (clase de caractere) și „LC_COLLATE” (intervalele de caractere și
clase de echivalenţă).

-okdir comandă ;
Aprecieri -execdir dar întrebați mai întâi utilizatorul în același mod ca și pentru -Bine. Dacă utilizatorul o face
nu sunt de acord, doar returnează false. Dacă comanda este rulată, intrarea sa standard este
redirecționat de la / Dev / null.

-printează True; tipăriți numele complet al fișierului pe rezultatul standard, urmat de o linie nouă. Dacă
sunteți canalizat de ieșire găsi într-un alt program și există cel mai slab
posibilitatea ca fișierele pe care le căutați să conțină o linie nouă,
atunci ar trebui să vă gândiți serios să utilizați -print0 în loc de -imprimare. Vedea
il NEOBIȘNUIT NUMELE DE FIȘIERE secțiune pentru informații despre cât de neobișnuite sunt personajele
numele de fișiere sunt gestionate.

-print0
Adevărat; tipăriți numele complet al fișierului pe rezultatul standard, urmat de un caracter nul
(în loc de caracterul newline care -imprimare utilizări). Acest lucru permite nume de fișiere care
conțin linii noi sau alte tipuri de spațiu alb pentru a fi interpretate corect
programe care procesează găsi ieșire. Această opțiune corespunde -0 opțiunea de a
xargs.

-printf format
Adevărat; imprimare format pe ieșirea standard, interpretând `\' escapes și `%'
directive. Lățimile și preciziile câmpurilor pot fi specificate ca și cu `printf' C
funcţie. Vă rugăm să rețineți că multe dintre câmpuri sunt tipărite ca %s și nu ca %d,
iar acest lucru poate însemna că steaguri nu funcționează așa cum v-ați aștepta. Aceasta înseamnă și că
steag-ul „-” funcționează (forțează câmpurile să fie aliniate la stânga). Spre deosebire de -imprimare,
-printf nu adaugă o nouă linie la sfârșitul șirului. Scăpările și
directivele sunt:

\a Sonerie de alarmă.

\b Backspace.

\c Opriți imediat imprimarea din acest format și ștergeți rezultatul.

\f Feed de formulare.

\n Newline.

\r Retur transport.

\t Filă orizontală.

\v Filă verticală.

\0 ASCII NUL.

\\ O bară oblică inversă (`\').

\NNN Caracterul al cărui cod ASCII este NNN (octal).

Un caracter „\” urmat de orice alt caracter este tratat ca un caracter obișnuit
caracter, astfel încât ambele sunt tipărite.

%% Un semn de procent literal.

%a Data ultimului acces al fișierului în formatul returnat de funcția C `ctime'.

%Ak Data ultimului acces al fișierului în formatul specificat de k, care este fie „@”, fie
o directivă pentru funcția C `strftime'. Valorile posibile pentru k sunt
enumerate mai jos; unele dintre ele ar putea să nu fie disponibile pe toate sistemele, din cauza
diferențe de „strftime” între sisteme.

@ secunde de la 1 ianuarie 1970, ora 00:00 GMT, cu parte fracțională.

Câmpuri de timp:

ora H (00..23)

I ora (01..12)

k oră (0..23)

l oră (1..12)

M minut (00..59)

p locale AM ​​sau PM

r timp, 12 ore (hh:mm:ss [AP]M)

S Second (00.00 .. 61.00). Există o parte fracțională.

Timp T, 24 de ore (hh:mm:ss.)

+ Data și ora, separate prin „+”, de exemplu „2004-04-28+22:22:05.0”.
Aceasta este o extensie GNU. Ora este dată în fusul orar curent
(care poate fi afectat de setarea variabilei de mediu TZ). The
câmpul secunde include o parte fracțională.

Reprezentarea timpului local X (H:M:S). Câmpul secunde include a
parte fracționată.

Z fus orar (de ex., EDT) sau nimic dacă nu se poate determina niciun fus orar

Câmpuri de dată:

numele prescurtat al unei localități pentru ziua săptămânii (Dum..Sat)

Numele complet al unei locații, lungime variabilă (duminică..sâmbătă)

numele abreviat al lunii localului b (ian..dec)

Numele complet al lunii locale B, lungime variabilă (ianuarie..decembrie)

c data și ora localului (sâmbătă nov 04 12:02:33 EST 1989). Formatul este
la fel ca pentru ctime(3) și astfel pentru a păstra compatibilitatea cu acesta
format, nu există nicio parte fracțională în câmpul secunde.

d ziua lunii (01..31)

D data (ll/zz/aa)

h la fel ca b

j ziua anului (001..366)

m luna (01..12)

U numărul săptămânii din an cu duminica ca primă zi a săptămânii (00..53)

w zi a săptămânii (0..6)

W numărul săptămânii din an cu luni ca primă zi a săptămânii (00..53)

x reprezentarea datei locale (ll/zz/aa)

y ultimele două cifre ale anului (00..99)

Anul Y (1970...)

%b Cantitatea de spațiu pe disc utilizată pentru acest fișier în blocuri de 512 octeți. Din moment ce disc
spațiul este alocat în multipli ai dimensiunii blocului sistemului de fișiere, aceasta este de obicei
mai mare decât %s/512, dar poate fi și mai mic dacă fișierul este rar
fișier.

%c Ultima modificare a stării fișierului în formatul returnat de C `ctime'
Funcția.

%Ck Ultima modificare a stării fișierului în formatul specificat de k, care este
la fel ca pentru %A.

%d Adâncimea fișierului în arborele de directoare; 0 înseamnă că fișierul este un punct de plecare.

%D Numărul dispozitivului pe care există fișierul (câmpul st_dev al struct
stat), în zecimală.

%f Numele fișierului cu toate directoarele principale eliminate (doar ultimul element).

%F Tipul sistemului de fișiere pe care se află fișierul; această valoare poate fi folosită pentru -fstype.

%g Numele grupului fișierului sau ID-ul grupului numeric dacă grupul nu are nume.

ID-ul grupului numeric al fișierului %G.

%h directoarele principale ale numelui fișierului (toate cu excepția ultimului element). Dacă dosarul
numele nu conține bare oblice (din moment ce se află în directorul curent) %h
specificatorul se extinde la „.”.

%H Punctul de pornire sub care a fost găsit fișierul.

%i Numărul inodul fișierului (în zecimală).

%k Cantitatea de spațiu pe disc folosită pentru acest fișier în blocuri de 1K. Din moment ce spațiul pe disc
este alocat în multipli ai dimensiunii blocului sistemului de fișiere, aceasta este de obicei
mai mare decât %s/1024, dar poate fi și mai mic dacă fișierul este rar
fișier.

%l Obiect al legăturii simbolice (șir gol dacă fișierul nu este o legătură simbolică).

%m Biți de permisiune ai fișierului (în octal). Această opțiune folosește „tradiționalul”
numerele pe care le folosesc majoritatea implementărilor Unix, dar dacă sunteți special
implementarea folosește o ordonare neobișnuită a biților de permisiuni octale, veți face
vezi o diferență între valoarea reală a modului fișierului și rezultatul
de %m. În mod normal, veți dori să aveți un zero înainte pe acest număr și
pentru a face acest lucru, ar trebui să utilizați # steag (ca în, de exemplu, `%#m').

Permisiunile fișierului %M (în formă simbolică, ca și pentru ls). Această directivă este
acceptat în findutils 4.2.5 și ulterioare.

%n Număr de linkuri hard către fișier.

%p Numele fișierului.

Numele fișierului %P cu numele punctului de pornire sub care a fost găsit
îndepărtat.

%s Dimensiunea fișierului în octeți.

Rarețea fișierului %S. Aceasta este calculată ca (BLOCKSIZE*st_blocks / st_size).
Valoarea exactă pe care o veți obține pentru un fișier obișnuit de o anumită lungime este
dependent de sistem. Cu toate acestea, în mod normal fișierele rare vor avea valori mai mici decât
1.0, iar fișierele care folosesc blocuri indirecte pot avea o valoare mai mare
decât 1.0. Valoarea folosită pentru BLOCKSIZE depinde de sistem, dar este de obicei
512 octeți. Dacă dimensiunea fișierului este zero, valoarea imprimată este nedefinită. Pe
sistemele care nu au suport pentru st_blocks, se presupune că raritatea unui fișier
fi 1.0.

%t Ora ultimei modificări a fișierului în formatul returnat de C `ctime'
Funcția.

%Tk Ora ultimei modificări a fișierului în formatul specificat de k, care este
la fel ca pentru %A.

Numele de utilizator al fișierului %u sau ID-ul de utilizator numeric dacă utilizatorul nu are niciun nume.

ID-ul de utilizator numeric al fișierului %U.

Tipul fișierului %y (ca în ls -l), U=tip necunoscut (nu ar trebui să se întâmple)

Tipul fișierului %Y (cum ar fi %y), plus următoarele linkuri simbolice: L=buclă, N=inexistentă

Contextul de securitate al fișierului %Z (numai SELinux).

%{ %[ %(
Rezervat pentru utilizare viitoare.

Un caracter `%' urmat de orice alt caracter este eliminat, dar celălalt
caracterul este tipărit (nu vă bazați pe acesta, deoarece pot fi format alte caractere
introdus). Un „%” la sfârșitul argumentului format cauzează un comportament nedefinit
întrucât nu există un caracter următor. În unele locații, îți poate ascunde ușa
chei, în timp ce în altele poate elimina pagina finală din romanul pe care îl citiți.

Directivele %m și %d acceptă # , 0 și + steaguri, dar celelalte directive o fac
nu, chiar dacă imprimă numere. Directive numerice care nu le suportă
steaguri includ G, U, b, D, k și n. Indicatorul de format „-” este acceptat și se modifică
alinierea unui câmp de la justificat la dreapta (care este implicit) la stânga
justificat.

A se vedea NEOBIȘNUIT NUMELE DE FIȘIERE secțiune pentru informații despre cât de neobișnuite sunt personajele
numele de fișiere sunt gestionate.

-prune True; dacă fișierul este un director, nu coborâți în el. Dacă -adâncime este dată,
fals; fara efect. pentru că -șterge implică -adâncime, nu puteți folosi cu folos -prună uscată
și -șterge împreună.

-Ieșire Ieșire imediat. Niciun proces copil nu va fi lăsat să ruleze, dar nu vor mai fi căi
specificate pe linia de comandă vor fi procesate. De exemplu, găsi /tmp/foo
/tmp/bar -imprimare -părăsi va imprima numai /tmp/foo. Orice linii de comandă care au fost
construit cu -execdir ... {} + va fi invocat înainte găsi iesirile. Ieșirea
starea poate fi sau nu zero, în funcție de a apărut deja o eroare.

OPERATORI
Listate în ordinea descrescătoare a priorității:

( expres )
Forța prioritatea. Deoarece parantezele sunt speciale pentru coajă, în mod normal o veți face
trebuie să le citez. Multe dintre exemplele din această pagină de manual folosesc bare oblice inverse pentru
acest scop: `\(...\)' în loc de `(...)'.

! expres Adevărat dacă expres este fals. Acest personaj va avea nevoie de obicei de protecție împotriva
interpretare de către coajă.

-nu expres
La fel ca ! expres, dar nu compatibil POSIX.

expr1 expr2
Două expresii pe rând sunt luate ca fiind unite cu un „și” implicit; expr2 nu este
evaluat dacă expr1 este fals.

expr1 -a expr2
La fel ca expr1 expr2.

expr1 -și expr2
La fel ca expr1 expr2, dar nu compatibil POSIX.

expr1 -o expr2
Aur; expr2 nu se evaluează dacă expr1 este adevarat.

expr1 -Sau expr2
La fel ca expr1 -o expr2, dar nu compatibil POSIX.

expr1 , expr2
Listă; ambii expr1 și expr2 sunt întotdeauna evaluate. Valoarea a expr1 este aruncat;
valoarea listei este valoarea lui expr2. Operatorul virgulă poate fi util pentru
căutând mai multe tipuri diferite de lucruri, dar traversând sistemul de fișiere
ierarhie o singură dată. The -fprintf acțiunea poate fi folosită pentru a enumera diferitele potrivire
elemente în mai multe fișiere de ieșire diferite.

Vă rugăm să reţineţi că -a când este specificat implicit (de exemplu prin două teste care apar fără
un operator explicit între ele) sau are în mod explicit o prioritate mai mare decât -o. Acest
înseamnă că găsi . -Yam un fișier -o -Yam bfile -imprimare nu se va tipări niciodată un fișier.

NEOBIȘNUIT NUMELE DE FIȘIERE


Multe dintre acțiunile lui găsi rezultă în tipărirea datelor care se află sub controlul
alți utilizatori. Aceasta include nume de fișiere, dimensiuni, timpi de modificare și așa mai departe. Fişier
numele sunt o problemă potențială, deoarece pot conține orice caracter, cu excepția „\0” și „/”.
Caracterele neobișnuite din numele fișierelor vă pot face lucruri neașteptate și adesea nedorite
terminal (de exemplu, modificarea setărilor tastelor dumneavoastră funcționale pe unele terminale).
Personajele neobișnuite sunt tratate diferit de diferite acțiuni, așa cum este descris mai jos.

-print0, -fprint0
Tipăriți întotdeauna numele exact al fișierului, neschimbat, chiar dacă rezultatul va fi a
Terminal.

-ls, -fls
Personajele neobișnuite sunt întotdeauna scăpate. Spațiu alb, bară oblică inversă și ghilimele duble
caracterele sunt tipărite folosind evadarea în stil C (de exemplu, `\f', `\"').
caracterele neobișnuite sunt tipărite folosind un escape octal. Alte caractere imprimabile
(Pentru -ls și -fls acestea sunt caracterele cuprinse între octalul 041 și 0176) sunt tipărite
ca atare.

-printf, -fprintf
Dacă ieșirea nu merge către un terminal, este tipărită așa cum este. În caz contrar, cel
rezultatul depinde de directiva utilizată. Directivele %D, %F, %g, %G, %H,
%Y și %y se extind la valori care nu sunt sub controlul proprietarilor fișierelor și așadar
sunt tipărite așa cum sunt. Directivele %a, %b, %c, %d, %i, %k, %m, %M, %n, %s, %t, %u
și %U au valori care sunt sub controlul proprietarilor fișierelor, dar care nu pot fi
folosit pentru a trimite date arbitrare către terminal și astfel acestea sunt tipărite așa cum sunt. The
directivele %f, %h, %l, %p și %P sunt citate. Această citare se realizează în același mod
ca și pentru GNU ls. Acesta nu este același mecanism de citare ca cel folosit pentru -ls
și -fls. Dacă puteți decide ce format să utilizați pentru ieșirea găsi apoi
în mod normal este mai bine să folosiți `\0' ca terminator decât să folosiți newline, ca fișier
numele pot conține spații albe și caractere newline. Setarea
Variabila de mediu `LC_CTYPE' este folosită pentru a determina ce caractere trebuie să fie
citat.

-print, -fprint
Cotarea este tratată în același mod ca și pentru -printf și -fprintf. Dacă utilizați
găsi într-un script sau într-o situație în care fișierele potrivite ar putea avea arbitrare
nume, ar trebui să luați în considerare utilizarea -print0 în loc de -imprimare.

-Bine și -okdir acțiunile imprimă numele de fișier curent așa cum este. Acest lucru se poate schimba în viitor
eliberare.

STANDARDE CONFORMITATE


Pentru cea mai apropiată conformitate cu standardul POSIX, ar trebui să setați POSIXLY_CORRECT
variabilă de mediu. Următoarele opțiuni sunt specificate în standardul POSIX (IEEE Std
1003.1, ediția 2003):

-H Această opțiune este acceptată.

-L Această opțiune este acceptată.

-Yam Această opțiune este acceptată, dar conformitatea POSIX depinde de conformitatea cu POSIX
ale sistemului fnmatch(3) funcția de bibliotecă. Începând cu findutils-4.2.2, shell
metacaracterele (`*', `?' sau `[]' de exemplu) se vor potrivi cu un `.', deoarece
Interpretarea IEEE PASC 126 necesită acest lucru. Aceasta este o schimbare față de cea precedentă
versiuni ale findutils.

-Tip Sprijinit. POSIX specifică „b”, „c”, „d”, „l”, „p”, „f” și „s”. GNU găsi, de asemenea
acceptă `D', reprezentând o Ușă, unde sistemul de operare le furnizează.

-Bine Sprijinit. Interpretarea răspunsului este conform „da” și „nu”
modele selectate prin setarea variabilei de mediu `LC_MESSAGES'. Cand
Variabila de mediu `POSIXLY_CORRECT' este setată, aceste modele sunt luate de sistem
definirea unui răspuns pozitiv (da) sau negativ (nu). Vezi sistemul
documentație pentru nl_langinfo(3), în special YESEXPR și NOEXPR. Când
`POSIXLY_CORRECT' nu este setat, modelele sunt preluate din găsieste propriu
catalogul de mesaje.

-mai nou Sprijinit. Dacă fișierul specificat este o legătură simbolică, acesta este întotdeauna dereferențiat.
Aceasta este o schimbare față de comportamentul anterior, care obișnuia să ia timpul relevant de la
legătura simbolică; vezi secțiunea ISTORIE de mai jos.

-permanent Sprijinit. Dacă variabila de mediu POSIXLY_CORRECT nu este setată, un mod
argumentele (de exemplu +a+x) care nu sunt valide în POSIX sunt acceptate pentru
retrocompatibilitate.

Alte predicate
Predicatele -o vreme, -ctime, -adâncime, -grup, -linkuri, -mtime, - fără grup, -nouser,
-imprimare, -prună uscată, -mărimea, -utilizator și -xdev `-atime', `-ctime', `-depth', `-group',
`-links', `-mtime', `-nogroup', `-nouser', `-perm', `-print', `-prune', `-size',
`-user' și `-xdev' sunt toate acceptate.

Standardul POSIX specifică parantezele `(', `)', negația `!' și „și” și „sau”
operatori ( -a, -o).

Toate celelalte opțiuni, predicate, expresii și așa mai departe sunt extensii dincolo de POSIX
standard. Multe dintre aceste extensii nu sunt unice pentru GNU find, totuși.

Standardul POSIX cere asta găsi detectează bucle:

găsi utilitatea va detecta bucle infinite; adică introducerea unui anterior
directorul vizitat care este un strămoș al ultimului fișier întâlnit. Atunci când
detectează o buclă infinită, find va scrie un mesaj de diagnosticare la eroarea standard
și își va recupera poziția în ierarhie sau va înceta.

GNU găsi respectă aceste cerințe. Numărul de linkuri ale directoarelor care conțin
intrările care sunt legături dure către un strămoș vor fi adesea mai mici decât ar trebui altfel
fi. Acest lucru poate însemna că GNU find va optimiza uneori vizitarea unui
subdirector care este de fapt o legătură către un strămoș. De cand găsi nu intra efectiv
un astfel de subdirector, este permisă evitarea emiterii unui mesaj de diagnosticare. Deși aceasta
comportamentul poate fi oarecum confuz, este puțin probabil ca cineva să depindă cu adevărat de asta
comportament. Dacă optimizarea frunzelor a fost dezactivată cu -noleaf, intrarea din director
va fi întotdeauna examinat și mesajul de diagnostic va fi emis acolo unde este cazul.
Legăturile simbolice nu pot fi folosite pentru a crea cicluri ale sistemului de fișiere ca atare, dar dacă -L opțiune sau
il -urma opțiunea este în uz, un mesaj de diagnosticare este emis când găsi întâlnește o buclă
a legăturilor simbolice. Ca și în cazul buclelor care conțin linkuri dure, optimizarea frunzelor va fi adesea
inseamna ca găsi știe că nu trebuie să sune stat () or chdir() pe legătura simbolică,
deci acest diagnostic nu este adesea necesar.

-d opțiunea este acceptată pentru compatibilitate cu diferite sisteme BSD, dar ar trebui să utilizați
opțiunea compatibilă cu POSIX -adâncime in schimb.

Variabila de mediu POSIXLY_CORRECT nu afectează comportamentul -regex or
-iregex teste deoarece acele teste nu sunt specificate în standardul POSIX.

MEDIUL VARIABILE


LANG Oferă o valoare implicită pentru variabilele de internaționalizare care sunt nesetate sau
nul.

LC_ALL Dacă este setată la o valoare șir nevid, suprascrieți valorile tuturor celorlalte
variabile de internaţionalizare.

LC_COLLATE
Standardul POSIX specifică faptul că această variabilă afectează potrivirea modelului
folosit pentru -Yam opțiune. GNU find folosește fnmatch(3) funcția de bibliotecă și așa
Suportul pentru `LC_COLLATE' depinde de biblioteca de sistem. De asemenea, această variabilă
afectează interpretarea răspunsului la -O.K; în timp ce variabila `LC_MESSAGES'
selectează modelul real folosit pentru a interpreta răspunsul la -Bine,
interpretarea oricăror expresii paranteze din model va fi afectată de
`LC_COLLATE'.

LC_CTYPE
Această variabilă afectează tratamentul claselor de caractere utilizate în mod obișnuit
expresii și, de asemenea, cu -Yam testați, dacă sistemul este fnmatch(3) bibliotecă
funcția acceptă acest lucru. Această variabilă afectează și interpretarea oricărei
clase de caractere din expresiile regulate folosite pentru a interpreta răspunsul la
prompt emis de -Bine. Variabila de mediu `LC_CTYPE' va afecta, de asemenea, care
caracterele sunt considerate a fi neimprimabile atunci când numele fișierelor sunt tipărite; vezi
secțiunea NUME DE FIȘIERE NEOBBINUITE.

LC_MESSAGES
Determină locația care va fi utilizată pentru mesajele internaționalizate. Dacă
Variabila de mediu `POSIXLY_CORRECT' este setată, aceasta determină și
interpretarea răspunsului la promptul făcut de către -Bine acţiune.

NLSPATH
Stabilește locația cataloagelor de mesaje de internaționalizare.

PATH Afectează directoarele care sunt căutate pentru a găsi executabilele invocate de
-exec, -execdir, -Bine și -okdir.

POSIXLY_CORRECT
Determină dimensiunea blocului utilizat de -ls și -fls. Dacă POSIXLY_CORRECT este setat, blocuri
sunt unități de 512 octeți. În caz contrar, sunt unități de 1024 de octeți.

Setarea acestei variabile dezactivează și mesajele de avertizare (adică implică - acum avertizează) de
implicit, deoarece POSIX necesită asta în afară de ieșirea pentru -Bine, toate mesajele
imprimate pe stderr sunt diagnostice și trebuie să aibă ca rezultat o stare de ieșire diferită de zero.

Când POSIXLY_CORRECT nu este setat, -permanent +zzz este tratat la fel ca -permanent /zzz dacă +zzz
nu este un mod simbolic valid. Când POSIXLY_CORRECT este setat, astfel de constructe sunt
tratată ca o eroare.

Când POSIXLY_CORRECT este setat, răspunsul la solicitarea făcută de -Bine acțiunea este
interpretat conform catalogului de mesaje al sistemului, spre deosebire de conform
găsipropriile traduceri ale mesajelor lui.

TZ Afectează fusul orar utilizat pentru unele dintre directivele de format legate de oră ale
-printf și -fprintf.

EXEMPLE


găsi / tmp -Yam CORE -Tip f -imprimare | xargs /bin/rm -f

Găsiți fișierele numite CORE în sau sub director / tmp și ștergeți-le. Rețineți că acest lucru va
funcționează incorect dacă există nume de fișiere care conțin linii noi, ghilimele simple sau duble,
sau spatii.

găsi / tmp -Yam CORE -Tip f -print0 | xargs -0 /bin/rm -f

Găsiți fișierele numite CORE în sau sub director / tmp și ștergeți-le, procesând numele fișierelor
în așa fel încât numele fișierelor sau directoarelor care conțin ghilimele simple sau duble, spații sau
liniile noi sunt gestionate corect. The -Yam testul vine înaintea -Tip testa pentru a
evitați să sunați Stat(2) pe fiecare dosar.

găsi . -Tip f -exec fişier „{}” \;

Rulează „fișier” pe fiecare fișier din sau sub directorul curent. Observați că bretele sunt
închise între ghilimele simple pentru a le proteja de interpretarea ca script shell
punctuaţie. Totuși, punctul și virgulă este protejat în mod similar prin utilizarea unei bare oblice inverse
ghilimele simple ar fi putut fi folosite și în acest caz.

găsi / \( -permanent -4000 -fprintf /root/suid.txt '%#m %u %p\n' \) , \
\( -mărimea + 100M -fprintf /root/big.txt '% -10s %p\n' \)

Traversați sistemul de fișiere o singură dată, listând fișierele și directoarele setuid în
/root/suid.txt și fișiere mari în /root/big.txt.

găsi $ ACASĂ -mtime 0

Căutați fișiere în directorul dvs. principal care au fost modificate în ultimele douăzeci și patru
ore. Această comandă funcționează astfel deoarece timpul de la ultima modificare a fiecărui fișier este
împărțit la 24 de ore și orice rest este aruncat. Asta înseamnă că să se potrivească -mtime 0, A
fișierul va trebui să aibă o modificare în trecut, care a avut loc cu mai puțin de 24 de ore în urmă.

găsi / sbin / usr / sbin -executabil \! - lizibil -imprimare

Căutați fișiere care sunt executabile, dar care nu pot fi citite.

găsi . -permanent 664

Căutați fișiere care au permisiunea de citire și scriere pentru proprietarul și grupul lor, dar
pe care alți utilizatori pot citi, dar nu pot scrie. Fișierele care îndeplinesc aceste criterii, dar au
alți biți de permisiuni setați (de exemplu, dacă cineva poate executa fișierul) nu vor fi
potrivite.

găsi . -permanent -664

Căutați fișiere care au permisiunea de citire și scriere pentru proprietarul și grupul lor și care
alți utilizatori pot citi, fără a ține cont de prezența oricăror biți suplimentari de permisiune (pentru
exemplu bitul executabil). Aceasta se va potrivi cu un fișier care are modul 0777, de exemplu.

găsi . -permanent / 222

Căutați fișiere care pot fi scrise de cineva (proprietarul sau grupul lor sau oricine
altfel).

găsi . -permanent / 220
găsi . -permanent /u+w,g+w
găsi . -permanent /u=w,g=w

Toate aceste trei comenzi fac același lucru, dar prima folosește octalul
reprezentarea modului fișier, iar celelalte două folosesc forma simbolică. Aceste comenzi
toate caută fișiere care pot fi scrise fie de proprietarul lor, fie de grupul lor. Fișierele
nu trebuie să poată fi scris atât de proprietar, cât și de grup pentru a fi potrivite; fie va face.

găsi . -permanent -220
găsi . -permanent -g+w,u+w

Ambele comenzi fac același lucru; căutați fișiere care pot fi scrise de ambele
proprietar și grupul lor.

găsi . -permanent -444 -permanent / 222 ! -permanent / 111
găsi . -permanent -a+r -permanent /a+w ! -permanent /a+x

Aceste două comenzi caută ambele fișiere care pot fi citite pentru toată lumea ( -permanent -444 or
-permanent -a+r), au cel puțin un bit de scriere setat ( -permanent / 222 or -permanent /a+w) dar nu sunt
executabil pentru oricine ( ! -permanent / 111 și ! -permanent /a+x respectiv).

cd /sursă-dir
găsi . -Yam .instantaneu -prună uscată -o \( \! -Yam *~ -print0 \)|
cpio -pmd0 /dest-dir

Această comandă copiază conținutul /sursă-dir la /dest-dir, dar omite fișierele și
directoarele numite .instantaneu (și orice în ele). De asemenea, omite fișiere sau directoare
al cărui nume se termină în ~, dar nu și conținutul lor. Construcția -prună uscată -o \( ... -print0 \)
este destul de comun. Ideea aici este că expresia de dinainte -prună uscată se potrivește cu lucruri care
urmează a fi tăiate. Însă -prună uscată acțiunea în sine returnează adevărată, deci următoarele -o
se asigură că partea dreaptă este evaluată numai pentru acele directoare care nu au primit
tăiate (conținutul directoarelor tăiate nici măcar nu este vizitat, deci conținutul lor este
irelevant). Expresia din partea dreaptă a -o este între paranteze doar pentru
claritate. Se subliniază că -print0 acțiunea are loc numai pentru lucruri care nu au avut loc
avea -prună uscată aplicate acestora. Deoarece condiția implicită „și” dintre teste leagă mai mult
strâns decât -o, acesta este oricum implicit, dar parantezele ajută la arătarea ce este
întâmplă.

găsi repo/ -exec test -d {}/.svn \; -Sau \
-exec test -d {}/.git \; -Sau -exec test -d {}/CVS \; \
-imprimare -prună uscată

Având în vedere următorul director de proiecte și administrativ SCM asociat
directoare, efectuați o căutare eficientă a rădăcinilor proiectelor:

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

În acest exemplu, -prună uscată previne coborârea inutilă în directoare care au deja
fost descoperit (de exemplu, nu căutăm project3/src pentru că am găsit deja
project3/.svn), dar asigură că sunt găsite directoarele frați (project2 și project3).

EXIT STAREA


găsi iese cu starea 0 dacă toate fișierele sunt procesate cu succes, mai mare decât 0 în cazul erorilor
apar. Aceasta este în mod deliberat o descriere foarte largă, dar dacă valoarea returnată este ne-
zero, nu ar trebui să vă bazați pe corectitudinea rezultatelor găsi.

Când apare o eroare, găsi se poate opri imediat, fără a finaliza toate acțiunile
specificat. De exemplu, este posibil ca unele puncte de plecare să nu fi fost examinate sau unele în așteptare
invocari de program pentru -exec ... {} + or -execdir ... {} + este posibil să nu fi fost efectuată.

Utilizați găsirea online folosind serviciile onworks.net


Servere și stații de lucru gratuite

Descărcați aplicații Windows și Linux

Comenzi Linux

Ad