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.