Cum se folosește comanda Find în Linux pentru a căuta fișiere?

How Use Find Command Linux Search Files



Dacă sunteți un utilizator Linux, atunci nu vă puteți baza doar pe interfața grafică pentru a efectua diverse sarcini, prin urmare, o înțelegere solidă a comenzilor terminalului este cu adevărat esențială. Toate distribuțiile bazate pe Linux execută comenzile pentru a efectua diferite sarcini administrative.

Deși terminalul Linux este o interfață text care pare complexă, este de fapt foarte flexibil, ușor de utilizat și un instrument destul de util. Comenzile pot fi ușor copiate din surse online și lipite în terminal pentru a efectua diverse operațiuni. Există o mulțime de comenzi, dar această postare se va concentra pe comanda Find.







Comanda Găsire este utilizată pentru a găsi, filtra sau căuta fișiere și foldere în sistemul dvs. în conformitate cu condițiile specificate de utilizator și pentru a efectua mai multe operații asupra acestora.



Să discutăm despre modul de utilizare a comenzii find, a sintaxei acesteia și a diferitelor operații efectuate de această comandă în detaliu.



Sintaxa comenzii find în Linux

Sintaxa comenzii find este prezentată mai jos:





găsi [cale] [Opțiuni] [expresie]

Trei atribute merg cu comanda find:

  • [cale]: definește directorul de unde să înceapă căutarea.
  • [opțiuni]: definește criteriile de filtrare de ex. căutarea unui fișier / folder după numele, permisiunea, ora sau data acestuia.
  • [expresie]: definește acțiunile de efectuat cu fișierul.

Toate atributele de mai sus sunt opționale, deoarece pot fi utilizate în conformitate cu cerința.



Pentru demonstrație, am creat diferite directoare și câteva fișiere text, consultați imaginea de mai jos:

find / 1% 20copy.png

Găsirea unui fișier după nume

Pentru a căuta fișierul după nume, utilizați comanda dată mai jos:

$găsi.-NumeMyTextFile1.txt

find / 2% 20copy.png

Punctul după găsire din comanda de mai sus indică directorul curent.

Dacă nu vă amintiți numele exact al fișierului, căutarea poate fi mai rafinată și poate fi diferențiată de majuscule și minuscule, folosind -iname în locul numelui:

$găsi.-numemytextfile1.txt

find / 3% 20copy.png

Găsirea unui fișier după tip

Pentru a găsi un fișier după tipul său, utilizați opțiunea -type cu litere care sunt, de asemenea, cunoscute sub numele de descriptori, cum ar fi f pentru fișiere, d pentru directoare, l pentru legătura simbolică și s pentru socketuri.

Pentru a căuta în toate directoarele, utilizați:

$găsi.-tipd

find / 4% 20copy.png

Pentru a căuta fișiere, utilizați:

$găsi.-tipf

c% 20copy.png

Găsirea unui fișier după extensia de fișier

Pentru a căuta fișierul după model, de exemplu, extensia de fișier, cum ar fi afișarea tuturor fișierelor cu .txt, utilizați următoarea comandă:

$găsi.-Nume *.txt

find / 5% 20copy.png

Toate fișierele cu .txt vor fi afișate împreună cu directoarele corespunzătoare.

Găsirea și ștergerea unui fișier

Pentru a căuta și șterge un fișier, utilizați comanda de mai jos:

$găsi.-numemytextfile1.txt-exec rm {};

find / 6% 20copy.png

Comanda de mai sus caută mai întâi fișierul și apoi îl șterge. Imaginea demonstrează că MyTextFile1 a fost șters.

Pentru a șterge toate fișierele cu extensia .txt, puteți utiliza comanda anexată:

$găsi.-Nume *.txt-șterge

find / 7% 20copy.png

Găsirea unui fișier după dimensiune

Comanda find poate căuta și un fișier după dimensiune. Pur și simplu utilizați opțiunea -size împreună cu descriptorii săi, cum ar fi b pentru blocuri de 512 Kb, c pentru octeți, k pentru kilobyți, M și G pentru megaocteți și respectiv gigaocteți:

$găsi.-tipf-mărimea -1024c

find / 8% 20copy.png

Comanda menționată mai sus caută toate fișierele cu o dimensiune mai mică de 1024 octeți. Căutarea poate fi mai rafinată, de exemplu, dacă dorim să găsim toate fișierele mai mici de 1Mb, atunci folosim comanda de mai jos:

$găsi.-tipf-mărimea1M

ab / a% 20copy.png

Pentru toate fișierele care depășesc 1Mb, utilizați comanda de mai jos:

$găsi.-tipf-mărimea+ 1M

ab / b% 20copy.png

O gamă de dimensiuni poate fi, de asemenea, definită, utilizând comanda anexată:

$găsi. -tipf-mărimea+ 1M-mărimea10M

Găsirea fișierelor după permisiune

Pentru a căuta un fișier cu permisiune, vom folosi opțiunea -perm, apoi codul de permisiune, după cum se arată mai jos:

$găsi.-permanent 664

find / 10% 20copy.png

Găsiți un text în fișierele text

Pentru a găsi text în mai multe fișiere text din sistemul dvs., utilizați comanda dată mai jos:

$găsi.-tipf-Nume *.txt-exec prindere'Buna ziua'{};

find / 12% 20copy.png

Comanda caută cuvântul Hello din fișierele text. Ieșirea este șiruri de text din fișierele text care conțin Hello.

Găsirea unui fișier după data și ora modificării

Pentru a accesa un fișier după ultima sa modificare, utilizați comanda de mai jos:

$găsi.-tipf-nume *.txt-min+10

find / 13% 20copy.png

Comanda de mai sus caută un fișier modificat ultima dată acum patru minute, iar m semnifică modificarea.

$găsi. -tipf-nume *.txt-amin -10

find / 14% 20copy.png

Comanda de mai sus caută un fișier accesat ultima dată acum 4 minute, iar a in amin înseamnă acces. Pentru a accesa un fișier care a fost modificat acum patru zile, utilizați -mtime +4 în locul mmin +4.

Concluzie

Comanda Find în Linux este o comandă foarte utilă care vă permite să căutați un fișier sau un director folosind diferite criterii și chiar vă permite să modificați fișierele de la terminal. În acest ghid, am observat sintaxa comenzii find în Linux și am învățat cum să folosim comanda find pentru a îndeplini diferite funcții.