Cum se folosește comanda Găsiți în Linux

Când lucrați într-un mediu UNIX, cum ar fi Linux în acest caz, este ideal să cunoașteți în detaliu utilizarea unor comenzi care ne vor ajuta cu sarcini multiple, fie ele administrative sau personale. Una dintre ele este comanda Găsire care, așa cum denotă și numele său, este utilizată pentru a găsi fișiere sau elemente care se află în sistemul de operare într-un mod simplu, dar funcțional și complet.

Când decidem să folosim comanda find, putem căuta și localiza lista de fișiere sau directoare pe baza condițiilor pe care le indicăm în sintaxa de utilizare care trebuie executată. În continuare vom vedea care este comanda find și cum o putem folosi în Linux folosind diferiții parametri.

Ce este găsireaGăsiți este o comandă în cadrul distribuțiilor Linux care este foarte utilă în ciuda faptului că este oarecum necunoscută. Este o comandă care va facilita sarcina de a găsi un fișier atunci când avem multe fișiere și este foarte dificil să îl găsim. Pe lângă fișiere, puteți căuta sau șterge directoare întregi. Puteți căuta cu filtre specifice, cum ar fi dimensiunea, numele, extensia, data …

Filtrarea căutărilor cu GăsireUnul dintre marile avantaje ale utilizării acestei comenzi este că putem filtra rezultatele după diferite variabile, cum ar fi:

  • Permisiuni
  • Grupuri
  • Utilizatori
  • Tipul fișierului
  • Data creării sau modificării
  • Dimensiune și mai multe opțiuni disponibile

Solvetic va explica diferite metode de utilizare eficientă a comenzii Find în Linux și pentru acest caz vom folosi Ubuntu 19.04. Vom vedea cum putem folosi comanda find pentru a găsi și căuta fișiere cu filtre folosind terminalul Linux.

1. Cum să căutați fișiere după nume sau extensie cu comenzi în Linux


Aceasta este cea mai esențială parte a utilizării comenzii Găsiți și pentru aceasta este necesar să cunoașteți numele obiectului sau extensia acestuia (.mp4, .txt ,. Jpg.webp etc.) pentru a obține un rezultat direct.

Pasul 1
De exemplu, vrem să găsim un fișier numit Solvetic.docx care se află într-un folder de pe desktop, în acest caz trebuie să navigăm la acea cale și apoi să executăm următoarele:

 găsi -nume Solvetic.docx 
Pasul 2
Ca urmare, vom vedea folderul în care este găzduit fișierul menționat (dacă este cazul):

Pasul 3
Dimpotrivă, dacă vrem să vedem toate fișierele cu o anumită extensie, cum ar fi .docx, vom executa următoarele:

 găsi -name "* .docx"
Pasul 4
Asteriscul listează toate fișierele cu această extensie

Pasul 5
Sintaxa generală pentru comanda Găsire este după cum urmează:

 găsi [-H] [-L] [-P] [cale …] [expresie] 
Pasul 6
Acești parametri sunt:

-HNu urmărește legăturile simbolice, cu excepția cazului în care argumentele din linia de comandă sunt procesate.

-LUrmați linkurile simbolice.

-PNu urmărește niciodată legăturile simbolice și este opțiunea implicită

Pasul 7
Opțiunea [cale …] indică locația în care urmează să fie efectuată căutarea pe Linux. Parametrul [expresie] poate fi operator, opțiuni, teste sau acțiuni de executat, vedem că, în mod implicit, comanda Găsi va ignora legăturile simbolice disponibile, dar cu -L le vom căuta pentru rezultate mai complete.
Există trei niveluri de optimizare pe care le putem selecta atunci când rulăm Find, acestea sunt:

  • -O1
  • -O2
  • -O3

Pasul 8
Valoarea -O1 este opțiunea implicită și funcția sa este de a forța comanda Găsire să caute pe baza numelui fișierului pe care l-am definit. Nivelul -O2 are grijă să acorde prioritate filtrelor de nume de fișiere, apoi va executa toate filtrele pe baza tipului de fișier și ulterior va folosi alte condiții pentru rezultate complete, iar nivelul -O3 execută o optimizare mai profundă folosind toate resursele la maxim .

Găsiți opțiuni de comandăOpțiunile generale de căutare sunt:

  • -O1: valoare implicită, este un filtru bazat pe numele fișierului indicat.
  • -O2: Căutați mai întâi după numele fișierului și apoi după tipul acestuia
  • -O3: Rulați o căutare care sortează automat rezultatele pe baza utilizării resurselor
  • -maxdepth X: Căutați directorul curent și subdirectoarele la nivelurile X.
  • -name: Căutați fără a vă baza pe text.
  • -nu: Returnează numai rezultatele care nu se potrivesc căutării
  • -tipul f: Căutați numai fișiere.
  • -tipul d: executați căutarea directorului

2. Cum să găsiți fișiere după nume sau extensie cu comenzi care să nu distingă majusculele și minusculele în Linux

Aceasta este o metodă care ne permite să găsim fișiere și să afișăm rezultatele care conțin majuscule și minuscule:

 găsi -iname solvetic.docx 

Căutați nume în directoareCu această metodă putem detecta toate directoarele numite Solvetic în directorul de start (/):

 găsi / -tip d-nume Solvetic

Găsiți fișiere fără permisiuni 777Permisiunile 777 (Rwxrwxrwx) cu acele permisiuni care nu au nicio restricție, adică orice utilizator le poate accesa.
Pentru a vedea fișierele care nu au această permisiune, vom executa următoarele:

 găsi / -tip f! -perm 777 

Acum, dacă vrem să vedem fișierele care au 777 permisiuni, vom executa:

 găsi. -tipul f -perm 0777 -print 

Găsiți fișiere SGID cu 2644 de permisiuniPermisiunea 2644 sunt fișiere care au permisiuni de citire și scriere, așa că pentru a vedea aceste fișiere vom executa:

 găsi / -perm 2644

Găsiți fișiere SUID în LinuxFișierele SUID (Setați proprietarul ID utilizator la executare), sunt permisiuni speciale de fișiere acordate unui element și servesc pentru a acorda temporar permisiuni unui utilizator pentru a executa un program sau fișier cu permisiunile proprietarului fișierului.
Pentru a le vedea, vom executa următoarele:

 găsi / -perm / u = s

Căutați fișiere SGIDFișierele SGID (Set ID grup sus la execuție) sunt un tip special de permisiuni de fișiere prin care este posibil să moștenească permisiunile de acces ale utilizatorului care este conectat. Pentru a vizualiza aceste fișiere, vom executa următoarele:

 găsi / -perm / g = s

Găsiți fișiere numai în citirePentru a vedea care sunt fișierele numai în citire din Linux vom executa:

 găsi / -perm / u = r

Căutați fișiere executabileDacă vrem să știm cu certitudine ce fișiere sunt executabile, putem folosi următoarea linie:

 găsi / -perm / a = x

3. Cum să găsiți fișiere cu permisiuni 777 și chmod 755 pe Linux

Pasul 1
Acestea sunt permisiuni speciale de citire și scriere, pentru a vedea aceste fișiere pe care le vom executa:

 find / -type d -perm 777 -print -exec chmod 755 {} \;

Pasul 2
Acum, dacă dorim să găsim fișierele cu permisiunile 777 și chmod 644, executăm:

 find / -type f -perm 0777 -print -exec chmod 644 {} \;

4. Găsiți și ștergeți fișiere cu comenzi în Linux

Găsiți și ștergeți un fișierCu Find putem detecta un fișier și putem continua cu ștergerea acestuia, în acest caz vom șterge fișierul solvetic.docx pentru care executăm următoarele:

 găsi. -tipul f -nume "solvetic.docx" -exec rm -f {} \; 

Dacă dorim să ștergem mai multe fișiere, putem folosi extensia acestora:

 găsi. -tip f -name "* .docx" -exec rm -f {} \;

Căutați fișiere sau directoare goalePutem specifica o cale, cum ar fi / tmp, pentru a găsi directoarele goale, în acest caz executăm următoarele:

 find / tmp -tip d-vid

Pentru a căuta fișiere goale executăm:

 find / tmp -type f -empty

Găsiți fișiere ascunseÎn Linux și în toate sistemele, unele fișiere sunt ascunse din motive de securitate, dacă pentru o sarcină administrativă sau de asistență este necesar să vedem care sunt acestea, putem executa următoarea comandă cu calea dorită, în acest caz acasă:

 find / home-type f -name ". *"

Găsiți fișierele unui utilizatorO altă dintre numeroasele opțiuni pe care ni le oferă comanda Găsiți este de a detecta fișierele unui anumit utilizator, de exemplu, pentru a găsi toate fișierele utilizatorului solvetic în directorul principal, vom executa următoarele:

 find / home -user solvetic

Găsiți fișiere dintr-un anumit grupPentru a găsi elementele unui grup vom executa următoarea linie:

 găsi / acasă -grup solvetic

5. Găsiți fișiere într-un interval de timp cu comenzi în Linux

Pasul 1
Cu comanda Găsire va fi posibil să căutăm fișierele care au fost utilizate într-un interval de timp, de exemplu, pentru a vedea fișierele din ultimele 30 de zile care au fost modificate putem executa:

 find / -mtime 30 

Pasul 2
Pentru a vedea fișierele care au prezentat accesul executăm:

Pasul 3
Pentru a vedea fișierele modificate într-un interval de zile, între 1 și 5, de exemplu, vom folosi următoarea linie:

 find / -mtime +1 -mtime -5

Pasul 4
Dacă dorim să vedem fișierele care au prezentat orice modificare în ultima oră sau minute, putem executa următoarele:

 găsi / -cmin -45
Pasul 5
Aceasta va lista fișierele din ultimele 45 de minute:

Pasul 6
La fel, putem lista fișierele care au fost accesate într-un interval de timp:

 găsi / -amin -60 

6. Găsiți fișiere de o anumită dimensiune cu comenzi în Linux

Pasul 1
Este posibil să se definească o dimensiune a fișierului în cadrul criteriilor de căutare, astfel încât să vedem toate fișierele a căror greutate este de 10 MB pe care le executăm:

 găsi / -dimensiune 10M

Pasul 2
Pentru a stabili un interval de greutate vom folosi:

 găsi / -size + 15M -size -90M

Pasul 3
Dacă din anumite motive dorim să detectăm și să ștergem un fișier cu o dimensiune specifică, vom folosi următoarea sintaxă:

 find / -size + 200M -exec rm -rf {} \;
NotăVersiunea find în Unix are câteva deficiențe, prin urmare trebuie să ne modificăm comanda pentru a obține rezultatul dorit, de exemplu:

  • Pe Linux
 găsi. -dimensiune 50M | xargs ls -l
  • Pe Unix
 găsi. -dimensiune 50M -print0 | xargs -0 ls -l 
La nivel de Scripturi, toate rezultatele cu găsire sunt pozitive, indiferent dacă obținem sau nu rezultate, în linux avem opțiunea -print -quit în cazul în care nu obținem rezultate.

Versiunea Unix a Căutării nu are această opțiune și cel mai bine este să o folosiți împreună cu grep pentru a verifica rezultatul, de exemplu.

 citiți -r a dacă găsiți. -maxdepth 1 -name "$ a" -print -quit | grep -q. apoi ecou „Fișier găsit” altfel ecou „Nu a fost găsit niciun fișier” dacă

7. Găsiți fișiere grafic în Linux


Distribuțiile Linux actuale, cu un mediu grafic (GUI), ne oferă posibilitatea de a utiliza motorul de căutare integrat pentru a detecta cu ușurință fișierele dorite, în cazul Ubuntu 19.04, putem accesa Fișiere și în câmpul de căutare introduceți termenul dorit la afișează imediat rezultatele asociate:

MARI

Vedem cum căutarea fișierelor în Linux este ceva complet complet datorită comenzii Găsiți și diferitelor sale variații pentru a obține cele mai bune rezultate, după caz.

wave wave wave wave wave