GNU/Linux >> Znalost Linux >  >> Linux

15 Praktické příklady Locate Command v Linuxu

V Linuxu existuje mnoho nástrojů pro hledání a lokalizaci souborů a adresářů. Z předchozích zkušeností jsme viděli, že některé z těchto nástrojů byly ve velkém měřítku velmi plynulé a některé z těchto nástrojů byly o něco pomalejší, ale v adresáři bylo možné pokrýt velkou škálu. Dříve jsme viděli, jak použít příkaz fd a příkaz find v Linuxu k nalezení souboru. Místo příkazů fd nebo find můžeme v Linuxu použít příkaz locate k rychlému a efektivnímu hledání souboru se specifickými parametry.

Hlavní rozdíl mezi příkazem fd a příkazem locate je v tom, že příkaz locate může rychle najít soubory v adresáři, protože pro vyhledávání dotazů používá speciální databázi.

V systémech Linux a Unix používá příkaz locate k prohledávání celého systému mlocate neboli slučovací databázi locate. Příkaz locate byl poprvé vydán v roce 1982 na strojích BSD a GNU s licencí GNU Privacy.

Jak funguje Locate Command?

Pracovní metoda příkazu locate na Linuxu je velmi konvenční a snadno pochopitelná. Používá databázi v systému, která ukládá cesty spojené s celým systémem souborů. Když spustíme příkaz locate, zasáhne databázi a vyhledá výsledek. Příkaz locate používá k uložení všech hledačů a cest databázi updatedb nebo mlocate.

Protože locate používá k nalezení položek cestu a odkazy, je to to, co zrychluje příkaz locate. Pokud potřebujete provést nějaké změny nebo obnovit vaši mlocate DB, můžete získat přístup ke konfiguračnímu souboru z níže uvedeného adresáře.

/var/lib/mlocate/mlocate.db

Obvykle mlocate databáze automaticky se aktualizuje, kdykoli spustíme příkaz locate v systému Linux. V některých případech však při mazání souboru nebo přidávání nového souboru do systému nemusí databáze okamžitě získat data systému. V takovém případě můžete manuálně aktualizovat databázi mlocate ve vašem systému Linux, aby bylo vyhledávání příkazů výkonnější.

Můžete také aktualizovat updatedb konfigurace pomocí skriptu.

- -
# cat /etc/updatedb.conf
PRUNE_BIND_MOUNTS="yes"
PRUNENAMES=".git .bzr .hg .svn"
PRUNEPATHS="/tmp /var/spool /media"
PRUNEFS="NFS nfs nfs4 rpc_pipefs afs binfmt_misc proc smbfs autofs iso9660 ncpfs coda devpts ftpfs devfs mfs shfs sysfs cifs lustre_lite tmpfs usbfs udf fuse.glusterfs fuse.sshfs ecryptfs fusesmb devtmpfs"

Instalace vyhledejte v systému

V dnešní době je ve všech hlavních distribucích příkaz locate předinstalován v systému Linux. Pokud nemůžete najít příkaz locate ve svém systému, můžete jej nainstalovat do počítače a začít s ním.

Způsob instalace příkazu locate v systému Linux je snadný. Balíček je již uložen v oficiálním repozitáři Linuxu, takže jej můžeme nainstalovat prostřednictvím komentáře aptitude na Debian Linuxu a příkazu DNF nebo Yum na systémech Redhat nebo Fedora Linux.

Před spuštěním instalačních příkazů můžete zkontrolovat, zda je ve vašem systému nainstalován příkaz locate či nikoli. Pro kontrolu stačí napsat locate a stiskněte tlačítko Enter na vašem terminálu. Pokud získáte informace o verzi nebo stavu, nástroj je nainstalován ve vašem systému.

Jak můžete vidět na obrázku níže, vyhledávací nástroj není nainstalován, takže nyní spustíme instalační příkazy.

$ locate

Proveďte níže uvedené příkazy na vašem Ubuntu nebo Linuxu založeném na Debianu a nainstalujte do svého systému vyhledávací nástroj.

sudo apt update
sudo apt install mlocate

Pokud používáte Fedoru založenou na Yumu a systém Redhat Linux, můžete spustit níže uvedenou sadu příkazů a získat nástroj pro vyhledání.

sudo yum -y update
sudo yum install mlocate

Příklady příkazů locate

V tomto příspěvku uvidíme několik užitečných a praktických příkladů ze skutečného života, kterými byste si měli projít a naučit se je. Příkaz locate funguje hladce se všemi hlavními distribucemi Linuxu na desktopu i na serveru.

1. Vyhledejte soubor

Úplně prvním příkladem, který o příkazu locate uvidíme, je, jak můžeme pomocí příkazu locate prohledávat soubor v celém systému souborů. Tento příkaz se vrátí se všemi soubory MySQL, které máme v celém systému.

locate mysql

2. Formátovat výstup

Nyní, pokud chcete filtrovat výše zmíněný příkaz, můžeme použít méně syntaxe se symbolem potrubí. Mohli jsme také použít příkaz GREP k třídění nebo filtrování výstupu.

locate mysql | less

3. Zobrazit existující soubory

Jak jsem již zmínil dříve, někdy příkaz locate neodstraní soubor nebo data, která jsme právě smazali ze systému Linux nebo jsme do systému souborů právě přidali. Abychom získali příslušnou hodnotu, můžeme použít -e příznak pomocí příkazu locate k odstranění souborů, které již byly odstraněny.

Například zde jsem spustil rm příkaz k odstranění souboru ze systému. Nyní, když spustím příkaz locate na Linuxu konvenčním způsobem, dá mi výsledek, že soubor v systému stále existuje. Ale pokud spustíme komentář k umístění s parametrem -e, okamžitě to znovu načte databázi a aktualizuje výstup.

rm file1.txt
locate file1.txt
locate -e file1.txt

4. Spočítejte existující soubory

Příkaz locate může také poskytnout výstup o tom, kolik souborů existuje v systému pro konkrétní dotaz.

locate -c mysql

5. Zakázat chyby při hledání

Mnohokrát, když najdeme položku pomocí příkazu locate a uděláme chyby v cestě nebo syntaxi, vrátí nám chybovou zprávu. Pokud chceme chybovou zprávu skrýt, můžeme přidat další -q příznak na konci příkazu pro deaktivaci chyb při vyhledávání.

locate -d ~/Documents/database.db hello
locate -d ~/Documents/database.db hello -q

6. Omezte počet výsledků hledání

Můžeme také nastavit limit pro příkaz locate pro zobrazení výsledků hledání. Níže uvedený příkaz locate zobrazí pouze deset výsledků pro dotaz k nalezení souboru .txt soubor v souborovém systému.

locate *.txt -n 10

7. Ignorovat soubory rozlišující malá a velká písmena

Ve výchozím nastavení příkaz locate v Linuxu rozlišuje velká a malá písmena, ale můžete jej ve svém systému zakázat. Chcete-li zakázat rozlišování malých a velkých písmen v příkazu locate, můžeme použít -i příznak v příkazu.

$ locate file1.txt
$ locate FILE1.TXT
$ locate -i FILE1.TXT

8. Vyhledejte soubor s přesným názvem

Pokud chceme vyhledat soubor s přesným názvem, můžeme použít -r příznak v příkazu locate v Linuxu. V níže uvedeném příkazu $ znak se používá jako výraz k označení, že relace skončila, a lomítko (/) je symbolem hranic příkazu.

locate -r /file404_UbuntuPIT.txt$

9. Oddělte výstupní položky pomocí ASCII NUL

Normálně v Linuxu příkaz locate vytiskne výstup se zalomením řádku, ale pokud chceme, můžeme z výstupu odstranit mezeru a vytisknout výstup s ASCII null.

locate -0 apache

10. Zobrazení statistik databáze

Spolu s prohledáváním souborů můžeme také zobrazit strukturu databáze pro konkrétní dotaz v systému pomocí znaku -s u příkazu locate v systému Linux.

locate -S

11. Aktualizujte databázi mlocate

Pokud potřebujeme ručně aktualizovat databázi příkazu locate v našem systému Linux, můžeme provést následující příkaz s přístupem sudo.

sudo updatedb

12. Vyberte jinou databázi mlocate

Pokud při hledání dotazu narazíte na nějaký problém, mohl být problém s lokalizační databází. Příkaz locate standardně používá databázi mlocate; můžete také přepínat mezi jinými databázemi pomocí příkazu locate.

default mlocate database
locate -d [new database path] [pattern]

13. Ignorujte diakritiku a rozdíly v přízvuku

V některých případech jste mohli v názvu souboru použít řeckou nebo římskou abecedu a při prohledávání tohoto souboru jste mohli místo této speciální abecedy použít běžnou abecedu. V takovém případě příkaz locate nevrátí žádný výstup. Chcete-li se tomuto problému vyhnout a ignorovat rozdíly v diakritice a diakritice, můžete použít -t příznak ve vašem příkazu.

locate My_new_image_ca.jpeg
locate -t My_new_image_ca.jpeg

14. Pouze zobrazení Současnost Soubory ve vašem systému

Již jsem zmínil, že příkaz locate někdy vrátí smazané soubory na výstupu. Existují způsoby, které vám umožní vyhnout se souborům, které ve vašem systému fyzicky neexistují a jsou již odstraněny. Pomocí -i můžete zobrazit pouze soubory, které se nacházejí ve vašem systému a -e flag na příkazu locate v Linuxu.

locate -i -e *text.txt*

15. Vyhledejte konkrétní typy souborů

Pomocí příkazu locate můžete ve svém systému Linux vyhledat konkrétní typ souboru. Například níže uvedené příkazy ukazují, jak vyhledávat textové a obrázkové soubory jpeg ve vašem systému pomocí příkazu locate.

locate  -c “*.txt*”
locate  -c “*.jpg*”

Poslední slova

V celém příspěvku jsme viděli, jak funguje příkaz locate a jaký typ databáze a operace poskytuje efektivní výsledek hledání. Prošli jsme několik výkonných a nejpoužívanějších příkladů příkazu locate.

Doufám, že tento příspěvek byl pro vás užitečný; pokud ano, sdílejte prosím tento příspěvek se svými přáteli a linuxovou komunitou. Můžete nám také dát vědět, který nástroj považujete za nejužitečnější pro hledání souborů ve vašem systému.


Linux
  1. cp Command v Linuxu:7 praktických příkladů

  2. Linux Shutdown Command:5 praktických příkladů

  3. 5 Praktické příklady příkazu dd v Linuxu

  1. 10 Praktické příklady příkazů Linux nm

  2. 7 Příklady příkazů Linux df

  3. Příklady příkazů rm v Linuxu

  1. 8 Příklady příkazů Linux TR

  2. vyhledejte příklady příkazů v systému Linux

  3. Příklady příkazů ps v Linuxu