Zoeken op website

10 Handige praktische voorbeelden van commando's voor 'lokaliseren' voor Linux-nieuwkomers


Een van de meest onaangename ervaringen waarmee de meeste nieuwe gebruikers van het Linux-platform gewoonlijk worden geconfronteerd, is het onvermogen om de eenvoudigste en toch effectievere manier te vinden om bestanden op hun systeem op te zoeken.

Linux maakt, net als vrijwel elk ander besturingssysteem, gebruik van verschillende mechanismen om zoekopdrachten van gebruikers te beantwoorden. Twee van de meest populaire hulpprogramma's voor het zoeken naar bestanden die toegankelijk zijn voor gebruikers, heten find en locate.

Het is nu belangrijk op te merken dat beide zoekprocessen buitengewoon goed werken, maar desalniettemin zal het zwaartepunt van dit artikel meer liggen op het hulpprogramma locate, dat het handigst is van de twee omdat het efficiënter gebruikmaakt van manieren om vragen van gebruikers snel te verwerken.

Het locate hulpprogramma werkt beter en sneller dan zijn find tegenhanger, omdat in plaats van het bestandssysteem te doorzoeken wanneer een bestandszoekopdracht wordt gestart (iets wat find doet), in plaats van door een database te zoeken. Deze database bevat bits en delen van bestanden en de bijbehorende paden op uw systeem.

Hier zijn tien eenvoudige lokalisatieopdrachten waarmee u productiever kunt worden met uw Linux-machine.

1. Gebruik de opdracht Lokaliseren

Het activeren van de locatieopdracht om naar een bestand te zoeken is vrij eenvoudig en duidelijk. Het enige dat u hoeft te doen, is typen:


$ locate LAMP-Setup.odt

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

2. Beperk zoekopdrachten tot een specifiek nummer

U kunt uw zoekresultaten beperken tot een vereist aantal om redundantie met uw zoekresultaten te voorkomen met behulp van de opdracht -n.

Als u bijvoorbeeld slechts 20 resultaten uit uw zoekopdrachten wilt, kunt u de volgende opdracht typen:


$ 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

De resultaten tonen de eerste 20 bestanden die eindigen op .html.

3. Geef het aantal overeenkomende vermeldingen weer

Als u het aantal overeenkomende vermeldingen van het bestand “tecmint“ wilt weergeven, gebruikt u het locate -c commando.


$ locate -c [tecmint]*

1550

4. Negeer hoofdlettergevoelige lokalisatie-uitvoer

Standaard is locate geconfigureerd om zoekopdrachten op een hoofdlettergevoelige manier te verwerken, wat betekent dat TEXT.TXT u naar een ander resultaat zal verwijzen dan text.txt .

Als u de opdracht locate de hoofdlettergevoeligheid wilt laten negeren en resultaten voor zowel hoofdletters als kleine letters wilt weergeven, voert u opdrachten in met de optie -i.


$ locate -i *text.txt*

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

5. Vernieuw de mlocate-database

Omdat de opdracht locate afhankelijk is van een database met de naam mlocate. De genoemde database moet regelmatig worden bijgewerkt om het opdrachthulpprogramma te laten werken
efficiënt.

Om de mlocate database bij te werken, gebruikt u een hulpprogramma genaamd updatedb. Opgemerkt moet worden dat u superuser-rechten nodig heeft om dit goed te laten werken, als het moet worden uitgevoerd als root- of sudo-rechten.


sudo updatedb

6. Geef alleen bestanden weer die aanwezig zijn in uw systeem

Als u een bijgewerkte mlocate database** heeft, produceert de opdracht locate nog steeds resultaten van bestanden waarvan de fysieke kopieën van uw systeem zijn verwijderd.

Om te voorkomen dat u resultaten ziet van bestanden die niet aanwezig zijn op uw machine op het moment dat u de opdracht invoert, moet u de opdracht locate-e gebruiken. Het proces doorzoekt uw systeem om het bestaan van het bestand dat u zoekt te verifiëren, zelfs als het nog steeds aanwezig is in uw mlocate.db.


$ locate -i -e *text.txt*

/home/tecmint/text.txt

7. Afzonderlijke uitvoerinvoer zonder nieuwe regel

Het standaardscheidingsteken van de opdracht locate is het teken voor de nieuwe regel (\\n). Maar als u liever een ander scheidingsteken gebruikt, zoals ASCII NUL, kunt u dat doen met behulp van de opdrachtregeloptie -0.


$ locate -i -0 *text.txt*

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

8. Controleer uw locatiedatabase

Als u twijfelt over de huidige status van uw mlocate.db, kunt u eenvoudig de databasestatistieken van de locatie bekijken met behulp van de opdracht -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. Onderdruk foutmeldingen in Lokaliseren

Het voortdurend proberen toegang te krijgen tot uw locatiedatabase levert soms onnodige foutmeldingen op waarin staat dat u niet over de vereiste rechten beschikt om root-toegang te hebben tot mlocate.db, omdat u slechts een normale gebruiker bent en niet de vereiste Superuser.

Om deze berichten volledig te verwijderen, gebruik je het -q commando.


locate "\*.dat" -q*

10. Kies een andere locatie

Als u zoekopdrachten invoert die zoeken naar resultaten die niet aanwezig zijn in de standaard mlocate database en antwoorden wilt van een andere mlocate.db die zich ergens anders in uw systeem bevindt, kunt u de localiseer het commando naar een andere mlocate database op een ander deel van uw systeem met het -d commando.


locate -d <new db path> <filename>

De opdracht locate lijkt misschien een van die hulpprogramma's die alles doet wat u vraagt, zonder al te veel moeite, maar in werkelijkheid, om het proces zijn efficiëntie te laten behouden, is mlocate.db nodig moet zo nu en dan worden gevoed met informatie. Als u dit niet doet, kan het programma een beetje nutteloos worden.