Găsiți comanda în Linux (găsiți fișiere și directoare)

0 Comments

comanda find este unul dintre cele mai puternice instrumente din arsenalul administratorilor de sistem Linux. Se caută fișiere și directoare într-o ierarhie director bazat pe o expresie dată de utilizator și poate efectua acțiuni specificate de utilizator pe fiecare fișier potrivit.

puteți utiliza comanda find pentru a căuta fișiere și directoare pe baza permisiunilor, tipului, datei, proprietății, dimensiunii și multe altele., Acesta poate fi, de asemenea, combinate cu alte instrumente, cum ar fi grep sau sed .

găsi Comandă Sintaxă #

general sintaxa find comanda este după cum urmează:

  • options atribut controale tratamentul de link-uri simbolice, opțiunile de depanare, și metodă de optimizare.
  • atributul path... definește directorul de pornire sau directoarele în care find va căuta fișierele.,
  • atributul expression este alcătuit din opțiuni, modele de căutare și acțiuni separate de operatori.pentru a căuta fișiere într-un director, utilizatorul care invocă comanda findtrebuie să aibă permisiuni de citire în acel director.

    Să aruncăm o privire la următorul exemplu:

    Găsi Fișierele de Nume #

    Găsirea fișierelor după nume este, probabil, cea mai comună utilizare a find comandă., Pentru a găsi un fișier după numele său, utilizați opțiunea -name urmată de numele fișierului pe care îl căutați.

    De exemplu, pentru a căuta un fișier numit document.pdf în /home/linuxize director, ar trebui să utilizați următoarea comandă:

    Pentru a rula un caz-insensibil căutare, schimba -name opțiune cu -iname:

    comanda De mai sus va meci „Document.pdf”, ” DOCUMENT.pdf”..etc.,

    Find Files by Extension #

    căutarea fișierelor după extensie este aceeași cu căutarea fișierelor după nume. De exemplu, pentru a găsi toate fișierele care se termină cu .log.gz în /var/log/nginx director, ai fi de tip:

    este important să menționez că trebuie să fie citat de model sau de a scăpa de asterisc * simbol cu backslash \ astfel încât să nu fie interpretat de shell atunci când utilizați metacaracterul.,

    Pentru a găsi toate fișierele care nu se potrivesc cu regex *.log.gz puteți folosi -not opțiune. De exemplu, pentru a găsi toate fișierele care nu se termină cu *.log.gz v-ar folosi:

    Găsi Fișierele de Tip #

    Uneori s-ar putea nevoie pentru a căuta pentru anumite tipuri de fișiere, cum ar fi regulat fișierele, directoarele, sau legături simbolice. În Linux, totul este un fișier.,div>: nume pipe (FIFO)

  • s: soclu

De exemplu, pentru a găsi toate directoarele din directorul curent de lucru , ar trebui să utilizați:

exemplu comun ar fi să recursiv schimba site-ul permisiunile de fișiere pentru 644 și director permisiuni 755 cu ajutorul chmod command:

Găsi Fișiere de Dimensiuni #

Pentru a găsi fișiere bazate pe dimensiune, trece -size parametru, împreună cu criteriile de mărime.,9fdb538a6b”>: 512-byte blocuri (implicit)

  • c: bytes
  • w: doi octeți cuvinte
  • k: Kilobytes
  • M: Megaocteți
  • G: Gigabytes
  • comanda următoare va găsi toate fișierele de exact 1024 bytes interiorul /tmp director:

    find comanda, de asemenea, vă permite să căutați pentru fișierele care sunt mai mari sau mai mici decât o anumită dimensiune.,

    în exemplul următor, căutăm toate fișierele mai mici decât 1MB în directorul curent de lucru. Observa minus - simbolul dimensiunea de valoare:

    Dacă doriți să căutați pentru fișiere cu o dimensiune mai mare decât 1MB, atunci ai nevoie pentru a utiliza plus + simbol:

    puteți căuta chiar și pentru fișiere într-o gamă de dimensiuni., Următoarea comandă va găsi toate fișierele între 1 și 2MB:

    Găsi Fișierele după Data Modificării #

    find comandă puteți, de asemenea, de căutare pentru fișiere bazate pe ultima lor modificare, acces, sau schimbare.la fel ca atunci când căutați după dimensiune, utilizați simbolurile plus și minus pentru „mai mare decât” sau „mai puțin decât”.să spunem că acum câteva zile ați modificat unul dintre fișierele de configurare dovecot, dar ați uitat care dintre ele., Puteți filtra cu ușurință toate fișierele sub /etc/dovecot/conf.d director care se termină cu .conf și a fost modificat în ultimele cinci zile:

    Aici este un alt exemplu de filtrare fișiere bazate pe modificarea data folosind -daystart opțiune., Comanda de mai jos va lista toate fișierele din /home directorul cu firme care au fost modificate 30 sau mai multe zile în urmă:

    Găsi Fișierele de Permisiuni #

    -perm opțiune vă permite să căutați pentru fișiere bazate pe permisiunile de fișiere.,

    De exemplu, pentru a găsi toate fișierele cu permisiuni de exact 775 în /var/www/html director, le-ar folosi:

    puteți prefix numeric modul cu minus - sau slash /.

    când slash / este folosit ca prefix, atunci cel puțin o categorie (utilizator, grup sau altele) trebuie să aibă cel puțin biții respectivi setați pentru ca un fișier să se potrivească.,

    luați în considerare următoarea comandă de exemplu:

    comanda de mai sus va potrivi toate fișierele cu permisiuni de citire setate pentru utilizator, grup sau alții.

    Dacă minus - este folosit ca prefix, atunci pentru ca fișierul să se potrivească, trebuie să fie setate cel puțin biții specificați., Următoarea comandă va căuta fișierele care au citit și scriere pentru proprietar și grup și sunt ușor de citit de către alți utilizatori:

    Găsi Fișierele de Proprietar #

    Pentru a găsi fișierele deținute de către un anumit utilizator sau grup, folosiți -user și -group opțiuni.

    De exemplu, pentru a căuta toate fișierele și directoarele deținute de către utilizator linuxize, ar fi:

    Aici este un exemplu din lumea reală., Să presupunem că doriți să găsiți toate fișierele deținute de către utilizator www-data și de a schimba dreptul de proprietate asupra potrivit fișiere de www-data și nginx:

    Găsi și Șterge Fișierele #

    Pentru a șterge toate de potrivire fișiere, adăugați -delete opțiune la finalul meciului exprimare.

    asigurați-vă că utilizați această opțiune numai atunci când sunteți sigur că rezultatul se potrivește cu fișierele pe care doriți să le ștergeți., Este întotdeauna o idee bună să imprimați fișierele potrivite înainte de a utiliza opțiunea -delete.

    De exemplu, pentru a șterge toate fișierele care se termină cu .temp de la /var/log/, le-ar folosi:

    Utilizare -delete opțiune cu prudență extremă. Comanda find este evaluată ca expresie și dacă adăugați mai întâi opțiunea -delete, comanda va șterge totul sub punctele de pornire pe care le-ați specificat.,

    atunci Când vine vorba de directoare, find poate șterge doar directoarele goale, la fel ca rmdir .

    concluzie #

    v-am arătat cum să utilizați comanda find cu diferite opțiuni și criterii.acest articol ar trebui să vă ofere o înțelegere fundamentală a modului de localizare a fișierelor pe sistemele Linux. De asemenea, puteți vizita pagina man find și puteți citi despre toate celelalte opțiuni puternice ale comenzii find.


    Lasă un răspuns

    Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *