Cum să găsiți un fișier după nume în Linux

Găsiți fișierele fără efort din linia de comandă din Linux

Utilizatorii încearcă de obicei să găsească un fișier folosind GUI. Cu toate acestea, uneori devine o muncă foarte obositoare să găsești un fișier individual în grămada uriașă de fișiere de pe sistemul tău. Găsirea acestuia în mod convențional poate fi o sarcină care necesită timp. Pentru a ușura această sarcină, Linux oferă anumite comenzi pentru a face această sarcină pentru tine.

găsi este o comandă populară folosită în sistemele Linux care vă poate ajuta să căutați diferite fișiere pe baza numelor, tipului, extensiei, permisiunilor, proprietarului, etc.

În acest tutorial, ne vom concentra pe găsirea fișierelor după nume. Ne vom uita la diferitele argumente care pot fi folosite cu găsi comanda. Vom afla, de asemenea, despre localiza comandă care este, de asemenea, o modalitate mai rapidă de a căuta fișierele după nume.

Sintaxă pentru găsi comanda

Folosind găsi comanda într-un mod adecvat vă poate face sarcina mai ușoară. Găsirea fișierelor de un anumit tip sau extensie sau căutarea după nume va fi posibilă dacă înțelegeți bine sintaxa generală a acestei comenzi.

Sintaxa generală pentru găsi comanda este după cum urmează.

găsiți [calea_căutare] [expresie] [opțiuni] [găsiți_ce]

Am încercat să simplific sintaxa lui găsi comanda pentru a înțelege mai bine comanda.

Să ne uităm la fiecare atribut al sintaxei pentru a ne face o idee despre semnificația fiecăruia dintre ele.

Căutare_Cale: Aici vine calea unde specificam calea de unde dorim ca sistemul sa inceapa cautarea fisierului. Pe scurt, este specificat directorul de pornire pentru a începe căutarea.

Expresie: Puteți specifica modelele de căutare pentru fișierul particular pe care îl căutați.

Opțiuni: Puteți utiliza opțiunile disponibile utilizate cu găsi comandă în acest spațiu.

gaseste ce: În acest atribut, introduceți numele sau o parte din numele fișierului de căutat.

Să ilustrăm această comandă cu un exemplu.

găsiți /home/gaurav/workspace -name "source.c"

În această comandă, folosesc găsi comandă pentru a căuta un fișier „source.c”. Am cerut în mod special să caut în calea „/home/gaurav/workspace”. Folosind -Nume opțiunea îmi permite să caut fișierul specificat de „source.c”.

Aceasta este cea mai simplă demonstrație pentru utilizarea găsi comanda.

Căutarea fișierelor în directorul curent

Folosind găsi comanda în cea mai simplă formă este să căutați fișierele în directorul de lucru actual.

găsi .

Această comandă va afișa toate fișierele din directorul de lucru curent. Aici '.„ înseamnă „directorul de lucru curent”. Urmează rezultatul din directorul meu de lucru actual. Toate fișierele prezente în acest director sunt listate fără filtre

Ieșire:

. ./context_log.policy ./snap ./snap/couchdb ./snap/couchdb/current ./snap/eclipse ./snap/eclipse/current ./snap/vim-editor ./snap/vim-editor/current ./ snap/vim-editor/common ./snap/vim-editor/1 ./snap/htop ./snap/htop/current ./snap/htop/common ./snap/htop/common/.local ./snap/htop /common/.local/lib ./snap/htop/common/.local/lib/locale ./snap/htop/common/.local/lib/locale/en_IN.UTF-8 ./snap/htop/common/. local/lib/locale/en_IN.UTF-8/LC_CTYPE

Pentru a căuta un fișier al cărui nume aproximativ este cunoscut, utilizați găsi comandă așa cum se arată mai jos.

găsi . -nume [șir_din_nume_fișier\*]

Exemplu:

găsi . -nume context\*

Această comandă caută fișierele care conțin șirul „context” în el.

Ieșire:

./context_log.policy ./context.xml ./context_preview.c

Sunt listate toate fișierele din directorul curent care conține șirul „context” în el.

Acum, problema apare cu această comandă atunci când încercați să vă luați libertatea cu privire la sensibilitatea majusculelor în timp ce introduceți numele fișierului sau șirul aproximativ.

Linux este destul de precaut cu privire la diferența dintre majuscule și minuscule și, prin urmare, există șanse mari ca căutarea să eșueze. Nu voi obține rezultate pentru comanda find dacă folosesc șirul ca „CONTEXT” în loc de „context”. Chiar dacă o singură literă din numele fișierului se află într-un caz diferit de cel al numelui original de fișier, căutarea va eșua.

Dar nu trebuie să vă faceți griji pentru asta. Puteți înlocui pur și simplu -Nume opțiunea cu -iname. Acest lucru vă permite să căutați fișierele, indiferent de cazurile în care se află numele lor. Doar faceți această modificare simplă în comandă și veți fi bine.

găsi . -iname CONT\*

Ieșirea va fi aceeași, chiar dacă am folosit șirul în majuscule.

./context_log.policy ./context.xml ./context_preview.c

Căutarea fișierelor în diferite directoare

Puteți căuta cu ușurință fișierele în orice director din sistemul Linux, indiferent de directorul în care lucrați în prezent.

găsiți [calea_directory] -iname [nume_fișier_specific]

Exemplu:

găsiți /home/gaurav/tomcat -iname ath.html

Aici, am căutat un anumit fișier „ath.html” și nu fișierele similare cu acest șir. Deci, rezultatul va fi doar fișierul specific, așa cum s-a menționat mai sus.

/home/gaurav/tomcat/ath.html

Acum, să presupunem că nu știm numele complet al fișierului, ci doar șirul acestui nume de fișier. Apoi putem căuta fișierele în felul următor.

găsiți /home/gaurav/tomcat -iname ath\*

Această comandă va căuta toate fișierele care includ șirul „ath” la început. Am folosit -iname opțiune aici, așa că nu trebuie să-mi fac griji cu privire la sensibilitatea majusculelor.

Ieșire:

/home/gaurav/tomcat/ATHENIAN_ART.html /home/gaurav/tomcat/ath_things.html /home/gaurav/tomcat/ath.html /home/gaurav/tomcat/ATHENIAN_ART.pdf /home/gaurav/tomcat/ATHHHHhow.html

De asemenea, puteți utiliza comanda pentru a căuta mai multe fișiere care se termină cu o extensie similară în numele lor.

Exemplu:

găsiți /home/gaurav/tomcat -iname „*.c”

Comanda va căuta toate fișierele din directorul specificat care conține .c ca extensie în numele fișierului.

Ieșire:

/home/gaurav/tomcat/stiil.c /home/gaurav/tomcat/project/temp.c /home/gaurav/tomcat/copy.c /home/gaurav/tomcat/gy.c

Am aflat despre găsi comandă pentru a căuta fișierele specificate de numele fișierului. Acum, haideți să explorăm încă o comandă care este mai rapidă decât cea convențională găsi comanda.

localiza prezentare generală a comenzii

Mai există o comandă pentru a căuta fișierele de pe sistemul dvs., care este mai rapidă decât găsi comanda. Este localiza comanda. Această comandă nu vine preinstalată pe distribuțiile Linux. Puteți folosi următorii pași pentru a descărca și instala localiza pachetul de comenzi pe sistemul dvs.

Pentru sistemele Ubuntu și Debian, utilizare:

sudo apt update sudo apt install mlocate

Pentru sistemele Cent Os și Fedora, utilizare:

sudo yum install mlocate

Comanda locate caută fișierul conform modelului dat în intrare. localiza folosește fișierul bazei de date pentru a căuta fișiere, acest fișier al bazei de date este generat de actualizatb comanda.

sudo updatedb

Timpul necesar pentru actualizarea acestui fișier de bază de date poate varia de la utilizator la utilizator, în funcție de fișierele de pe sistemul dumneavoastră.

Folosind localiza comanda

Puteți folosi localiza comanda în felul următor. Asigurați-vă că actualizați fișierul bazei de date folosind comanda sudo updatedb.

Sintaxă:

localizați [filename_or_part_of_filename]

Această comandă va porni căutarea din directorul rădăcină. Va returna lista tuturor fișierelor de pe sistem care conține numele fișierului sau o parte din numele fișierului, așa cum este specificat în comandă.

Exemplu:

localiza copie.c

Ieșire:

/home/gaurav/Downloads/git-2.23.0/copy.c /snap/core/9804/usr/lib/python3.5/__pycache__/copy.cpython-35.pyc /snap/core/9993/usr/lib /python3.5/__pycache__/copy.cpython-35.pyc /snap/core18/1880/usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /snap/core18/1885/usr/lib/python3 .6/__pycache__/copy.cpython-36.pyc /snap/core20/634/usr/lib/python3.8/__pycache__/copy.cpython-38.pyc /usr/lib/python3.5/__pycache__/copy.cpy -35.pyc /usr/lib/python3.6/__pycache__/copy.cpython-36.pyc /usr/share/icons/MacBuntu-OS/apps/128/copy.com.png

Linia evidențiată arată că fișierul exact „copy.c” este găsit. Împreună cu acest rezultat, sunt afișate și alte fișiere care conțin „copy.c” ca parte a numelui fișierului.

Pentru a evita aglomerația altor fișiere nedorite și pentru a găsi doar fișierul dorit, puteți utiliza comanda locate în felul următor.

localizați -b „\filename”

Exemplu:

localizați -b „\copy.c”

Ieșire:

/home/gaurav/Downloads/git-2.23.0/copy.c

Fișierul specific menționat în criteriile de căutare este listat împreună cu calea directorului în care se află.

Folosind localiza comanda poate părea puțin complicată, dar este o metodă mai rapidă de a căuta fișiere atunci când nu cunoașteți locația exactă a acelui fișier. Recuperarea fișierelor devine super rapidă atunci când ați actualizat fișierul bazei de date pe care îl folosește comanda locate.

Concluzie

În acest scurt tutorial, am aflat despre două comenzi importante, găsi și localiza. Acum puteți căuta cu ușurință fișiere pe sistemul dvs. fără a vă pierde în teancul de fișiere. Folosirea acestor comenzi se va dovedi cu siguranță economisitoare de timp și eficientă pentru sarcina dvs. de căutare a fișierelor.