Cum să găsiți fișiere și foldere în Linux utilizând linia de comandă
Majoritatea oamenilor folosesc un manager de fișiere grafice pentru a găsi fișiere în Linux, cum ar fi Nautilus în Gnome, Dolphin în KDE și Thunar în Xfce. Cu toate acestea, există mai multe modalități de a utiliza linia de comandă pentru a găsi fișiere în Linux, indiferent de managerul desktop pe care îl utilizați.
Utilizarea comenzii Find
Comanda "Find" vă permite să căutați fișiere pentru care cunoașteți numerele aproximative ale fișierelor. Cea mai simplă formă a comenzii caută fișiere în directorul curent și recursiv prin subdirectoarele sale care se potrivesc cu criteriile de căutare furnizate. Puteți căuta fișiere după nume, proprietar, grup, tip, permisiuni, dată și alte criterii.
Tastarea următoarei comenzi la prompt afișează toate fișierele găsite în directorul curent.
găsi .
Punctul după "găsire" indică directorul curent.
Pentru a găsi fișiere care se potrivesc cu un model specific, utilizați -Nume
argument. Puteți utiliza metacaracterele de fișiere (cum ar fi *
), dar trebuie fie să puneți un caracter de evadare ( \
) în fața fiecăruia sau însoțite de citate.
De exemplu, dacă vrem să găsim toate fișierele care încep cu "pro" în directorul Documente, vom folosi cd Documente /
comanda pentru a trece la directorul Documente, apoi tastați următoarea comandă:
găsi . -name pro \ *
Sunt listate toate fișierele din directorul curent începând cu "pro".
NOTĂ: Comanda de căutare este implicită să fie sensibilă la minuscule. Dacă doriți ca căutarea unui cuvânt sau a unei fraze să nu fie sensibilă la litere mari, utilizați -iname
cu comanda de căutare. Este versiunea insensibilă a cazului -Nume
comanda.
Dacă găsi
nu găsiți niciun fișier care să corespundă criteriilor dvs., nu produce nici o ieșire.
Comanda de căutare are o mulțime de opțiuni disponibile pentru rafinarea căutării. Pentru mai multe informații despre comanda de căutare, executați om găsi
într-o fereastră Terminal și apăsați Enter.
Folosind comanda Locate
Comanda Locate este mai rapidă decât comanda find, deoarece folosește o bază de date construită anterior, în timp ce comanda Find găsește în sistemul real, prin toate directoarele și fișierele. Comanda Locate returnează o listă a tuturor denumirilor de căi care conțin grupul de caractere specificat.
Baza de date este actualizată periodic de la cron, dar o puteți actualiza oricând, în orice moment, pentru a obține rezultate actualizate. Pentru aceasta, tastați următoarea comandă la prompt:
sudo updatedb
Introduceți parola când vi se solicită.
Forma de bază a comenzii locate găsește toate fișierele din sistemul de fișiere, începând de la rădăcină, care conțin toate sau orice parte a criteriilor de căutare.
localizați mydata
De exemplu, comanda de mai sus a găsit două fișiere care conțin "mydata" și un fișier care conține "date".
Dacă doriți să găsiți toate fișierele sau directoarele care conțin exact și numai criteriile dvs. de căutare, utilizați -b
cu comanda de localizare, după cum urmează.
locați -b '\ mydata'
Partea backslash din comanda de mai sus este un caracter globalizat, care oferă o modalitate de extindere a caracterelor wildcard într-un nume de fișier nespecific într-un set de nume de fișiere specifice. Un wildcard este un simbol care poate fi înlocuit cu unul sau mai mulți caractere atunci când expresia este evaluată. Cele mai des întâlnite simboluri sunt semnul întrebării ( ?
), care reprezintă un singur caracter și asteriscul ( *
), care reprezintă un șir de caractere contiguu. În exemplul de mai sus, backslash-ul dezactivează înlocuirea implicită a "mydata" cu "* mydata *", astfel încât să ajungeți numai la rezultate care conțin "mydata".
Comanda mlocate este o nouă implementare a localizării. Acesta indexează întregul sistem de fișiere, dar rezultatele căutării includ numai fișiere la care utilizatorul curent are acces. Când actualizați baza de date mlocate, păstrează informațiile despre marcajele temporale în baza de date. Acest lucru îi permite lui mlocate să știe dacă conținutul unui director s-a schimbat fără a citi din nou conținutul și face actualizări ale bazei de date mai rapide și mai puțin exigente pe hard disk.
Când instalați mlocate, fișierul / usr / bin / localizați fișierul binar se modifică pentru a indica alocarea. Pentru a instala mlocate, dacă nu este deja inclus în distribuția dvs. Linux, tastați următoarea comandă la prompt.
sudo apt-get instalați mlocate
NOTĂ: Vă vom arăta o comandă mai târziu în acest articol care vă permite să determinați unde se află executabilul unei comenzi, dacă există.
Comanda mlocate nu utilizează același fișier de bază de date ca și comanda de localizare standard. Prin urmare, este posibil să doriți să creați manual baza de date tastând următoarea comandă la prompt:
sudo /etc/cron.daily/mlocate
Comanda mlocate nu va funcționa până când baza de date nu este creată manual sau când scriptul este executat de la cron.
Pentru mai multe informații despre localizarea sau despre comanda mlocate, tastați om localiza
sau omul moare
într-o fereastră Terminal și apăsați Enter. Același ecran de ajutor se afișează pentru ambele comenzi.
Folosind comanda ce
Comanda "care" returnează calea absolută a executabilului care se numește atunci când se emite o comandă. Acest lucru este util în găsirea locației unui executabil pentru crearea unei comenzi rapide a programului pe desktop, pe un panou sau pe un alt loc din managerul de desktop. De exemplu, tastând comanda care firefox
afișează rezultatele afișate în imaginea de mai jos.
În mod implicit, comanda care afișează numai primul executabil compatibil. Pentru a afișa toate executabilele potrivite, utilizați -A
opțiune cu comanda:
care-firefox
Puteți căuta mai multe executabile utilizând simultan, după cum se arată în imaginea următoare. Numai căile spre executabile găsite sunt afișate. În exemplul de mai jos, sa găsit numai executabilul "ps".
NOTĂ: Comanda care caută numai variabila PATH a utilizatorului curent. Dacă căutați un executabil care este disponibil numai pentru utilizatorul root ca utilizator normal, nu se va afișa niciun rezultat.
Pentru mai multe informații despre ce comandă, tastați "om care" (fără ghilimele) din linia de comandă într-o fereastră Terminal și apăsați Enter.
Folosind comanda Whereis
Comanda whereis este utilizată pentru a afla unde sunt localizate fișierele de pagină binare, sursă și om pentru o comandă. De exemplu, tastați unde is firefox
la promptul afișează rezultatele după cum se arată în imaginea următoare.
Dacă doriți să afișați doar calea către executabil, și nu căile către pagina sursă și pentru om (ual), utilizați -b
opțiune. De exemplu, comanda whereis -b firefox
se va afișa numai / Usr / bin / firefox
drept urmare. Acest lucru este la îndemână pentru că, cel mai probabil, veți căuta fișierul executabil al unui program mai des decât ați căuta paginile sursă și de manual pentru acel program. De asemenea, puteți căuta numai fișierele sursă ( -s
) sau numai pentru paginile manuale ( -m
).
Pentru mai multe informații despre comanda whereis, tastați omul unde
într-o fereastră Terminal și apăsați Enter.
Înțelegerea diferenței dintre comanda Whereis și ce comandă
Comanda whereis vă arată locația paginilor binare, sursă și om pentru o comandă, în timp ce comanda care vă arată numai locația binar pentru comanda.
Comanda whereis caută o listă de directoare specifice pentru fișierele binare, sursă și om, în timp ce comanda care caută directoarele listate în variabila de mediu PATH a utilizatorului curent. Pentru comanda whereis, lista de directoare specifice poate fi găsită în secțiunea FILES din paginile manuale pentru comandă.
Când este vorba despre rezultatele afișate în mod implicit, comanda whereis afișează tot ceea ce găsește, în timp ce comanda care afișează numai primul executabil pe care îl găsește. Puteți modifica această funcție utilizând -A
opțiune, discutată mai devreme, pentru care comandă.
Deoarece comanda whereis utilizează numai căi codificate greu în comandă, este posibil să nu găsiți mereu ceea ce căutați. Dacă căutați un program despre care credeți că ar putea fi instalat într-un director care nu este listat în paginile manus pentru comanda whereis, este posibil să doriți să utilizați comanda care conține -A
opțiunea de a găsi toate aparițiile comenzii în întregul sistem.