10 exemple practice utile de comandă „locate” pentru începătorii Linux


Una dintre cele mai dezastruoase experiențe cu care se confruntă de obicei cei mai mulți utilizatori noi ai platformei Linux este incapacitatea de a găsi cele mai simple și totuși mai eficiente mijloace de a căuta fișiere pe sistemul lor.

Linux, ca aproape orice alt sistem de operare, utilizează mai multe mecanisme pentru a răspunde la interogările de căutare pentru utilizatori. Două dintre cele mai populare utilitare de căutare de fișiere accesibile utilizatorilor se numesc găsire și localizare.

Acum, este important de reținut că ambele procese de căutare funcționează extrem de bine, dar, cu toate acestea, centrul acestui articol va fi mai mult pe utilitarul localizare, care este cel mai convenabil dintre cele două, deoarece folosește mai eficient. modalități de procesare rapidă a interogărilor introduse de utilizatori.

Utilitarul locate funcționează mai bine și mai rapid decât omologul său găsește, deoarece în loc să caute în sistemul de fișiere atunci când este inițiată o căutare de fișiere – ceva ce face găsirea – locate ar căuta printr-o bază de date. Această bază de date conține biți și părți ale fișierelor și căile lor corespunzătoare pe sistemul dumneavoastră.

Iată zece comenzi simple de localizare pentru a vă configura să deveniți mai productiv cu mașina dvs. Linux.

1. Folosind comanda locate

Lansarea comenzii locate pentru a căuta un fișier este destul de ușoară și simplă. Tot ce trebuie să faci este să tastați:


$ locate LAMP-Setup.odt

/home/tecmint/LAMP-Setup.odt
/home/tecmint/TecMint.com/LAMP-Setup.odt

2. Limitați interogările de căutare la un anumit număr

Puteți limita rezultatele căutării la un număr necesar pentru a evita redundanța cu rezultatele căutării utilizând comanda -n.

De exemplu, dacă doriți doar 20 rezultate din interogările dvs., puteți introduce următoarea comandă:


$ locate "*.html" -n 20

/home/tecmint/.config/google-chrome/Default/Extensions/aapocclcgogkmnckokdopfmhonfmgoek/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/aohghmighlieiainnegkcijnfilokake/0.9_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/felcaaldnbdncclmgdcncolpebgiejap/1.1_0/main.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/forge.html
/home/tecmint/.config/google-chrome/Default/Extensions/kbfnbcaeplbcioakkpcpgfkobkghlhen/14.752.848_0/src/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/additional-feature.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/background.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/edit.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/help.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/options.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/popup.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/purchase.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/upload.html
/home/tecmint/.config/google-chrome/Default/Extensions/nlipoenfbbikpbjkfpfillcgkoblgpmj/3.9.16_0/oauth2/oauth2.html
/home/tecmint/.config/google-chrome/Default/Extensions/nmmhkkegccagdldgiimedpiccmgmieda/1.0.0.2_0/html/craw_window.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_route_details.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/feedback.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/devices.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/index.html
/home/tecmint/.config/google-chrome/Default/Extensions/pkedcjkdefgpdelpbcmbmeomcjbeemfm/5516.1005.0.3_0/cast_setup/offers.html

Rezultatele vor afișa primele 20 de fișiere care se termină cu .html.

3. Afișați numărul de intrări care se potrivesc

Dacă doriți să afișați numărul tuturor intrărilor care se potrivesc din fișierul „tecmint“, utilizați comanda locate -c.


$ locate -c [tecmint]*

1550

4. Ignorați ieșirile de localizare sensibile la majuscule

În mod implicit, locate este configurat să proceseze interogările într-o manieră sensibilă la majuscule și minuscule, ceea ce înseamnă că TEXT.TXT vă va indica un rezultat diferit de text.txt .

Pentru ca comanda locate să ignore diferența dintre majuscule și minuscule și să afișeze rezultate atât pentru interogările cu majuscule, cât și pentru litere mici, introduceți comenzi cu opțiunea -i.


$ locate -i *text.txt*

/home/tecmint/TEXT.txt
/home/tecmint/text.txt

5. Reîmprospătați baza de date mlocate

Deoarece comanda locate se bazează pe o bază de date numită mlocate. Baza de date menționată trebuie să fie actualizată în mod regulat pentru ca utilitarul de comandă să funcționeze
eficient.

Pentru a actualiza baza de date mlocate, utilizați un utilitar numit updatedb. Trebuie remarcat faptul că veți avea nevoie de privilegii de superutilizator pentru ca acest lucru să funcționeze corect, dacă trebuie să fie executat ca privilegii root sau sudo.


sudo updatedb

6. Afișați numai fișierele prezente în sistemul dvs

Când aveți o bază de date mlocate** actualizată, comanda locate produce în continuare rezultate ale fișierelor ale căror copii fizice sunt șterse din sistemul dvs.

Pentru a evita să vedeți rezultatele fișierelor care nu sunt prezente în mașina dvs. în momentul introducerii comenzii, va trebui să utilizați comanda locate-e. Procesul caută în sistemul dvs. pentru a verifica existența fișierului pe care îl căutați, chiar dacă acesta este încă prezent în mlocate.db.


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. Separați intrările de ieșire fără linie nouă

Separatorul implicit al comenzii locate este caracterul (\\n) de linie nouă. Dar dacă preferați să utilizați un separator diferit, cum ar fi ASCII NUL, puteți face acest lucru folosind opțiunea de linie de comandă -0.


$ locate -i -0 *text.txt*

/home/tecmint/TEXT.txt/home/tecmint/text.txt

8. Examinați baza de date de localizare

Dacă aveți îndoieli cu privire la starea actuală a mlocate.db, puteți vizualiza cu ușurință statisticile de localizare a bazei de date utilizând comanda -S.


$ locate -S

Database /var/lib/mlocate/mlocate.db:
	32,246 directories
	4,18,850 files
	2,92,36,692 bytes in file names
	1,13,64,319 bytes used to store database

9. Suprimați mesajele de eroare din Locate

Încercarea constantă de a accesa baza de date de localizare generează uneori mesaje de eroare inutile care afirmă că nu aveți privilegiile necesare pentru a avea acces root la mlocate.db, deoarece sunteți doar un utilizator normal și nu Superutilizator necesar.

Pentru a elimina complet aceste mesaje, utilizați comanda -q.


locate "\*.dat" -q*

10. Alegeți o locație diferită

Dacă introduceți interogări în căutarea unor rezultate care nu sunt prezente în baza de date implicită mlocate și doriți răspunsuri dintr-un alt mlocate.db aflat în altă parte a sistemului dvs., puteți indica comanda locate într-o altă bază de date mlocate într-o altă parte a sistemului dvs. cu comanda -d.


locate -d <new db path> <filename>

Comanda locate ar putea părea una dintre acele utilitare care face tot ce i-ai cerut să facă fără prea multă agitație, dar, în adevăr, pentru ca procesul să-și păstreze eficiența, mlocate.db trebuie să fie alimentat cu informații din când în când. Nerespectarea acestui lucru ar putea face programul puțin inutil.