GNU găsi este unul dintre programele cele mai frecvent utilizate. La prima vedere, găsiți opțiunile și sintaxa lor este un pic ciudat. Cu toate acestea, cu un pic de practica pentru a găsi. puteți găsi rapid și ușor orice fișier de pe sistemul dumneavoastră. Pentru a vă ajuta să începeți cu descoperirea. Luând în considerare cele propuse zece moduri de a le utiliza.

Rețineți că nu toate versiunile găsi același, și cel pe care îl utilizați pe Linux, va fi diferită de versiunile pentru Mac, BSD și Solaris. Practic, sintaxa este aceeași în toate versiunile, dar în unele locuri, există mici diferențe.
căutare simplă
Să începem cu un simplu. Dacă știți numele de fișier, dar nu știi exact în care directorul este localizat, găsiți sintaxa este foarte simplu. Doar să găsească numele fișierului:
găsi - numele numele de fișier _
Dacă fișierul există, vă va conduce să găsească o listă de moduri în care numele comun al fișierului pe care le specificați. Vygldet va fi ceva de genul:
Căutare după mărime
Uneori, atunci când căutați un fișier poate fi necesar să-l folosească mai multe atribute drept criterii de căutare, nu doar un nume. De exemplu, dimensiunea fișierului. De exemplu, atunci când sistemul rămâne fără spațiu în unele partiție de disc și aveți nevoie pentru a afla ce fișiere sunt luați spațiu valoros pe disc. Cu găsi, poți găsi aceste fișiere și doar apoi să decidă, din cauza căreia vă puteți elibera spațiu pe disc.
Pentru un astfel de caz, de a găsi acolo opțiune: dimensiune. gazdă ca parametru dimensiunea pe care este criteriul de căutare. Mărimea poate fi specificată începând cu octet (b). gigaocteți de finisare (G). De exemplu, pentru a căuta o dimensiune de 100 kilobytes de fișiere, puteți folosi comanda:
găsi - dimensiunea 100k
Cu toate acestea, această opțiune nu poate fi adecvată în acest caz. Este mai potrivit să caute fișiere mai mari (sau mai mici) specificate. Pentru a efectua o astfel de căutare, trebuie doar să adăugați „+“ sau „-“ la dimensiunea și de a găsi va căuta fișiere mai mari sau mai mici, respectiv, decât cele specificate. De exemplu, următoarea comandă găsește toate fișierele mai mari de 100 kilobytes:
găsi - dimensiune + 100k
iar acest lucru - mai puțin de 100 kilobytes:
găsi - dimensiuni - 100k
De asemenea, puteți cere găsi pentru a găsi toate fișierele goale:
găsi - gol - tip f
Acordați atenție la opțiunea de tip specificat cu parametrul «f». ceea ce indică faptul găsi căuta numai fișierele obișnuite. Dacă nu o specificați, apoi găsiți și să aducă și directoarele goale.
Căutare de către proprietar
Un alt frecvent utilizat, căutare opțiune - caută fișierele deținute de unii utilizator sau chiar în absența acestuia. De exemplu, vă mutați unele fișiere de la un alt sistem sau ștergeți unele utilizator este de natură să facă fișierele „orfane“. Uita-te pentru aceste fișiere pot fi orfani cu o simplă comandă:
Pentru a căuta fișiere care aparțin oricărui utilizator particular, și există opțiunea -uid -user. Prima opțiune are atât numele de utilizator și ID-ul, iar al doilea - numai identificatorul. De exemplu, dacă am nevoie pentru a găsi toate fișierele, proprietarul care sunt, voi folosi una din comenzile:
găsi - utilizator 1000
De asemenea, poate fi necesar pentru a găsi fișiere deținute de către utilizator A și B. utilizator Pentru a face acest lucru, trebuie să combinați cele două termenii de căutare utilizând «o-» Operator:
găsi - root - o - www utilizator - date
Această comandă va căuta fișierele care sunt deținute de utilizatorul root sau utilizatorul www-date. Dacă, de exemplu, doriți să găsiți fișiere deținute de către un utilizator care nu este. Utilizați «-sa nu» operatorul:
găsi - nu - www utilizator - date
În mod firesc, operatorii lucrează cu alte opțiuni. De exemplu, următoarea comandă găsește fișierele care sunt deținute de www-date și nu sunt mai mari decât o sută de kilobytes:
găsi - www de utilizare - date - nu - dimensiune + 100k
Căutare după grup-proprietar de produse
Un alt mod de a utiliza find - caută fișiere care aparțin unui anumit grup de utilizatori. În acest scop, «-în» opțiune. parametru care ar trebui să fie un nume de grup sau identitatea. De exemplu:
găsi - grup de admin
În viața de zi cu zi, vă sunt susceptibile de a combina această opțiune cu alții. De exemplu, dacă aveți nevoie pentru a găsi fișiere care aparțin unui utilizator și grup specific.
Căutare după drepturi de acces
Uneori poate fi nevoie pentru a găsi fișiere care sunt disponibile pentru înregistrarea oricărei persoane sau fișiere cu orice alte permisiuni „rele“. Găsiți căutare similară poate fi realizată folosind o varietate de opțiuni. Cel mai simplu dintre ele - operatorii -readable. -writable și -executable. care operează în ceea ce privește utilizatorul care a lansat găsi. Rețineți că versiunile prea vechi de a găsi aceste opțiuni nu sunt disponibile.
Un alt mod de a căuta modul specific de acces fișiere - utilizați opțiunea -perm. permițând să se determine cu exactitate drepturile de acces ale fișierului. De exemplu, dacă doriți să găsiți fișiere, sunt stabilite de biți de performanță pentru proprietarul și grupul, utilizați următoarea comandă:
găsi - tip f - Perm - 110
Aici, parametrul „110“, în funcție de a găsi un set de biți de permisiuni, și „-“ face ca toate celelalte ignora. Astfel, dacă fișierul are totul altceva instalat pentru a citi și de a scrie biți, se va întâlni, de asemenea, criteriile de căutare, pentru a găsi ceea ce este important este că aveți biții de execuție specificate.
Dacă aveți nevoie de o potrivire exactă cu modul de acces specificat, apoi debifați opțiunea „-“.
Dar ce se întâmplă dacă aveți nevoie pentru a găsi fișiere care sunt executabile de către proprietar sau de un grup? În acest caz, în loc de „-“ utilizare „/“:
găsi - tip f - Perm / 110
Caută pe drepturi de acces de multe ori vine la îndemână, deși nu fără unele dificultăți, și poate fi nevoie de ceva timp înainte de a te obișnuiești cu sintaxa. Acest lucru este în special adevărat pentru începători, care nu sunt încă înțelese cu adevărat mecanismul de biți de permisiuni de fișiere. În acest caz, găsiți recomandat în special citirea om-pagină.
Folosind expresii regulate
Uneori, este posibil să trebuiască să utilizați expresii regulate pentru a defini criteriile de căutare. Și le găsi sprijin chiar mai mult decât ar fi de așteptat. sprijină găsi nu numai utilizarea de expresii regulate, dar, de asemenea, permite utilizarea diferitelor tipuri de ele. Tastați expresia regulată poate fi determinată prin opțiunea -regextype. care ia parametrii POSIX-awk, POSIX-egrep și altele asemenea. Bărbatul pagină veți găsi o listă completă a tipurilor acceptate de expresii regulate versiunea dvs. de găsire.
Un mic exemplu. Să presupunem că aveți nevoie pentru a găsi fișiere cu extensiile «.php» și «.js». Acest lucru poate fi realizat cu următoarea comandă:
găsi - regextype POSIX - egrep - regex '* (php | js) $.'
Se pare înfricoșător, nu-i așa? Această comandă spune găsi de a utiliza regulat egrep sintaxa expresie (-regextype POSIX-egrep). și apoi spune expresia regulată în sine. Expresia încadrată în ghilimele simple, astfel încât învelișul să nu încercați în propriul lor mod de a interpreta caractere speciale, care sunt utilizate în expresia. În expresia „*“ pentru orice caracter care se repetă zero sau mai multe ori. Partea a expresiei «(php | js)» informează despre necesitatea de a căuta „? Php“ sau „js“ (caractere de țeavă este utilizat pentru a determina „sau“ operator). Și, în sfârșit, semnul dolar la sfârșitul declarației raportează că partea anterioară a expresiei ar trebui să fie în căutarea de la capătul liniei.
La fel ca și cu drepturile de acces, expresii regulate pot fi combinate.
în cele din urmă locul de muncă
Ce se întâmplă dacă aveți nevoie pentru a găsi fișiere în funcție de vârsta lor? Uneori se întâmplă că știți fișierul a fost creat în orice perioadă de timp, și orice altceva - a fost uitat. Sau, poate fi necesar pentru a găsi unele fișiere vechi că este timpul pentru a elimina. În general, motivul ar putea fi o grămadă.
găsi în întregime poate lucra în timp, permițându-vă să se uite la momentul ultimului acces la dosar (-atime). fișier Timpul a fost modificat ultima dată (-mtime). sau la momentul creării sale (-stime).
De exemplu, să găsească toate fișierele care au schimbat în ultimele două zile:
Opțiuni de setări, de lucru cu timpul, poate fi interpretat ca «N ori în 24 de ore“ și perioada de timp înseamnă cu adevărat. Dacă treci găsi «1» opțiune. atunci ea va intelege ca „nu mai puțin de 24 ore, dar nu mai mult de 48“.
Aceste opțiuni pot fi de asemenea combinate, dacă doriți să găsiți fișiere, criterii de căutare temporare sunt într-un anumit interval. Deci, echipa
găsi - mtime + 2 - mtime - 5
Aceasta înseamnă „două sau mai multe zile în urmă, dar nu mai mult de cinci zile în urmă.“
Lucrul cu minute
Uneori este necesar pentru a găsi fișierele modificate în ultimele 24 de ore, iar în acest caz, considerat opțiunea * de timp, din motive evidente, nu se va potrivi. Cu toate acestea, în acest caz, vom găsi în opțiuni speciale de magazin, -cmin -amină, -mmin. care funcționează ca a discutat mai sus, cu diferența că, deoarece acestea iau parametrii de minute. mai degrabă decât ore. Deci, dacă aveți nevoie pentru a găsi toate fișierele care au fost modificate, de exemplu, în timpul orelor de lucru - acestea sunt opțiunile pe care le va ajuta.
Limitați-vă căutarea
Uneori găsi oferă mult mai multe rezultate de căutare decât aveți nevoie. Cu opțiunea -maxdepth puteți găsi limitat, astfel încât să nu „vizuină“ în prea adânc. De exemplu, dacă doriți să găsiți toate fișierele c extensie «js» în directorul WordPress, puteți folosi comanda:
găsi WordPress - numele '* js'
Dar dacă sunteți interesat în fișierele numai din directorul de nivel superior? Nici o problemă: Limitarea clericale utilizând opțiunile -maxdepth: