If-Koubou

Cum să găsiți fișiere și foldere în Linux utilizând linia de comandă

Cum să găsiți fișiere și foldere în Linux utilizând linia de comandă (Cum să)

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 moduri 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 din directorul curent și recursiv prin subdirectoarele sale care corespund criteriilor 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 ar trebui fie să puneți un caracter de evacuare ( \ ) în fața fiecăruia dintre ei sau însoțesc-le în 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ă a fi sensibilă la minuscule. Dacă doriți cautarea 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ăsește niciun fișier care să corespundă criteriilor dvs., nu produce nicio ieșire.

Comanda de căutare are multe opțiuni disponibile pentru a rafina căutarea. 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, oricând, 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, pornind 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ă.

locate -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 doar 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, acesta păstrează informații 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 rapid ș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 comanda mlocate, tastați om localiza sau omul moare într-o fereastră Terminal și apăsați Enter. Se afișează același ecran de ajutor 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 pentru 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. Sunt afișate doar căile spre executabile găsite.Î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 rădăcină ca utilizator normal, nu se va afișa niciun rezultat.

Pentru mai multe informații despre comanda, tastați "om care" (fără ghilimele) din linia de comandă din fereastra 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 whereis 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 util pentru că veți căuta cel mai probabil 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 om 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ă doar locația binarei pentru comandă.

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. În cazul comenzii whereis, lista de directoare specifice poate fi găsită în secțiunea FILES a paginilor manuale pentru comandă.

Când vine vorba de 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, s-ar putea să doriți să utilizați comanda cu -A opțiunea de a găsi toate aparițiile comenzii în întregul sistem.