GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak používat příkaz locate v Linuxu

Úvod

locate command je unixový nástroj používaný pro rychlé vyhledání souborů a adresářů. Příkaz je pohodlnější a efektivnější alternativou k příkazu najít příkaz, který je agresivnější a dokončení hledání trvá déle.

Naproti tomu find , locate příkaz neprohledává celý souborový systém, ale prohlíží pravidelně aktualizovanou databázi souborů v systému. Hledání se tak dokončí mnohem rychleji.

V tomto tutoriálu se naučíte nainstalovat a používat locate příkaz v Linuxu.

Předpoklady

  • Systém se systémem Linux.
  • Účet s oprávněními správce.

Jak nainstalovat vyhledejte

V závislosti na tom, jakou distribuci Linuxu používáte, locate balíček nemusí být předinstalovaný.

Chcete-li zkontrolovat, zda find je nainstalován, zadejte:

locate

Pokud find je nainstalován ve vaší distribuci, příkaz vytiskne následující výstup:

V tomto tutoriálu jsme použili Ubuntu 20.04, které neobsahuje locate obslužný program předinstalovaný. V tomto případě je výstupní zpráva:

Nainstalujte locate na Ubuntu a Debian

Při instalaci locate postupujte podle následujících kroků na Ubuntu nebo Debianu:

1. Aktualizujte úložiště balíčků:

sudo apt update 

2. Nainstalujte locate balíček spuštěním:

sudo apt install mlocate

Nainstalujte locate na CentOS a Fedora

Při instalaci locate postupujte podle následujících kroků na CentOS nebo Fedoře:

1. Aktualizujte úložiště balíčků:

sudo yum -y update

2. Spuštěním následujícího příkazu nainstalujte locate :

sudo yum install mlocate

Jak používat příkaz locate v Linuxu s příklady

locate příkaz vyhledá soubory v Linuxu pomocí názvu souboru. find se používá k získání okamžitých výsledků a je to nezbytný nástroj, když je prioritou rychlost.

Příkaz provede vyhledávání pomocí databáze obsahující bity souborů s odpovídajícími cestami v systému. Nicméně locate nekontroluje soubory mimo databázi, což znamená, že nehlásí soubory vytvořené po poslední aktualizaci databáze.

Syntaxe pro locate příkaz je:

locate [options] [pattern]

Některé užitečné možnosti jsou:

Možnost Popis
-A, --all Zobrazí pouze záznamy odpovídající všem zadaným vzorům.
-b, --basename Shoduje se pouze se základním názvem se zadanými vzory.
-c, --count Namísto názvů souborů vypíše počet odpovídajících položek.
-d, --database [DBPATH] Nahradí výchozí databázi [DBPATH] - seznam jmen databázových souborů oddělených dvojtečkou.
-e, --existing Zobrazuje pouze položky pro existující soubory.
-L, --follow Slouží ke kontrole, zda soubory existují, pokud --existing možnost je specifikována. --follow možnost vynechává přerušené symbolické odkazy.
-i, --ignore-case Ignoruje rozlišování malých a velkých písmen.
-p, --ignore-spaces Při shodě vzorů ignoruje interpunkci a mezery.
-t, --transliterate Používá iconv transliterace, aby se při shodě vzorů ignorovaly diakritika a diakritika.
-l, --limit, -n [LIMIT] Slouží k úspěšnému ukončení po nalezení [LIMIT] počet záznamů.
-0, --null Odděluje výstupní položky pomocí ASCII NUL znak namísto tisku každého záznamu na nový řádek.
-S, --statistics Vytiskne statistiky o každé přečtené databázi na standardní výstup namísto hledání souborů.
-q, --quiet Skryje všechny chyby, ke kterým došlo při čtení a zpracování databází.
-r, --regexp [REGEXP] Slouží k vyhledávání základního regulárního výrazu [REGEXP] . Zadání této možnosti nepovolí [pattern] argumenty.
-w, --wholename Odpovídá pouze celému názvu cesty se zadanými vzory.
-h, --help Zobrazí soubor nápovědy se seznamem všech dostupných možností.

V následujících částech jsou uvedeny užitečné příklady použití locate příkaz.

Vyhledat soubor

Nejjednodušší způsob použití locate příkaz je zadat vzor, ​​který chcete hledat.

Například vyhledejte všechny soubory obsahující mysql vzor v názvu souboru spuštěním následujícího příkazu:

locate mysql

Výstup uvádí všechny absolutní cesty k souborům obsahujícím mysql vzor v názvu souboru.

Formátovat výstup

Když je výsledkem hledání dlouhý seznam souborů, použijte odkaz locate příkaz do less pro lepší čitelnost a snadnější rolování.

Například:

locate mysql | less

Procházejte výstup stisknutím mezerníku pro posun vpřed, b pro obrácení nebo Q ukončit.

Zobrazit existující soubory

Zatímco locate příkaz načte výsledky téměř okamžitě, rychlost je spojena s náklady. Někdy se ve výsledcích objeví smazané soubory, protože databáze, kterou locate čtení nebylo od smazání souborů aktualizováno. Také nové soubory se ve výsledcích nezobrazí, pokud byly vytvořeny po poslední aktualizaci databáze.

Odstraňte tyto nedostatky pomocí -e možnost prohledat souborový systém a zahrnout do výsledků pouze existující soubory.

Například:

Ve výše uvedeném příkladu jsme nejprve smazali soubor pomocí rm . Hledání souboru pomocí locate zobrazuje umístění smazaného souboru. Při použití -e možnost find nezobrazuje žádné výsledky od doby, kdy byl soubor odstraněn.

Spočítat existující soubory

Vytiskněte počet odpovídajících souborů namísto názvů souborů a jejich absolutních cest zadáním -c možnost.

Například:

locate -c mysql

Výstup obsahuje pouze počet souborů obsahujících mysql řetězec v názvu souboru. Všechny ostatní informace jsou potlačeny.

Zakázat chyby při hledání

-q volba dává pokyn locate potlačit všechny chyby, které se mohou objevit při čtení databáze.

V následujícím příkladu find používá k vyhledávání jinou databázi. Příkaz nejprve hlásí, že databáze neexistuje.

Zadáním -q volba potlačí chybu:

Omezit počet výsledků vyhledávání

Omezte počet výsledků hledání pomocí -n možnost vyhnout se nadbytečným výsledkům. Například omezte hledání pouze na deset výsledků zadáním:

locate *.txt -n 10

Výstup zobrazuje pouze prvních deset souborů odpovídajících vyhledávacímu vzoru.

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

Ve výchozím nastavení find při zpracování vstupního dotazu provede vyhledávání rozlišující malá a velká písmena. Pokyn find ignorovat rozlišování malých a velkých písmen pomocí -i možnost.

V následujícím příkladu jsme nejprve hledali example_file malými písmeny a find neukázal žádný výstup, protože název souboru obsahuje velká písmena.

Hledání souboru velkými písmeny zobrazí umístění souboru:

Provedení stejného vyhledávání s malými písmeny a zadání -i volba ignoruje velká a malá písmena a zobrazí soubor ve výstupu:

Vyhledejte soubor s přesným názvem

Ve výchozím nastavení find analyzuje vstupní vzor jako řetězec a zobrazí všechny soubory obsahující vstupní vzor v názvu souboru. Například hledání mysql zobrazí všechny soubory obsahující mysql řetězec jako součást názvu souboru, namísto souborů, jejichž celý název souboru je mysql .

Vyhledejte soubor s přesným názvem pomocí -r možnost (regulární výraz).

Například:

Výstup zobrazuje pouze soubory, jejichž název souboru zcela odpovídá vstupnímu vzoru.

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

Výstupní položky, které locate produkty jsou odděleny novým řádkem (\n ) charakter. Použijte -0 možnost oddělit položky pomocí ASCII NUL místo znaku nového řádku.

Například:

locate -0 apache

Výchozím oddělovačem již není znak nového řádku a položky jsou odděleny ASCII NUL .

Zobrazit statistiku databáze

locate umožňuje zobrazit různé databázové statistiky, včetně počtu adresářů a souborů uložených v databázi. Chcete-li zobrazit statistiku databáze, zadejte -S možnost:

locate -S

Výstup uvádí, kterou databázi find počet adresářů a souborů a velikost databáze v bajtech.

Aktualizovat lokalizační databázi

Databáze, kterou locate používá automatické aktualizace denně ve stejnou dobu. Chcete-li databázi aktualizovat ručně a ujistit se, že index souboru je správný, spusťte následující příkaz:

sudo updatedb

Dokončení procesu aktualizace trvá několik sekund v závislosti na počtu souborů v systému.

Vyberte jinou databázi mlocate

Pokyn find chcete-li použít jinou než výchozí databázi, zadáním -d volba. Tato funkce je užitečná při hledání výsledků, které se nenacházejí ve výchozím mlocate databáze.

Chcete-li zadat jinou databázi, použijte následující syntaxi:

locate -d [new database path] [pattern]

Ignorujte diakritiku a rozdíly v přízvuku

locate příkaz používá pro shodu výsledků běžná písmena, což znamená, že názvy souborů obsahující písmena s diakritikou se ve výsledcích vyhledávání nezobrazí. Použijte -t možnost instruovat locate ignorovat takové rozdíly mezi písmeny a zahrnout do výsledků diakritiku.

Například:

Hledání příjemné kavárny pattern nezobrazuje ve výše uvedeném příkladu žádné výsledky, protože název souboru obsahuje diakritické znaménko. Vyhledání stejného vzoru znovu a zadání -t možnost zobrazuje příjemnou kavárnu cesta k souboru jako výsledek, ignorování diakritiky v názvu souboru.


Ubuntu
  1. Jak používat Linuxový příkaz grep

  2. Jak používat příkaz historie v Linuxu

  3. Jak používat příkaz id v Linuxu

  1. Jak používat příkaz Apt-Get v Linuxu

  2. Jak používat příkaz sudo v Linuxu

  3. Jak používat příkaz „screen“ v Linuxu

  1. Jak používat příkaz hostname v Linuxu

  2. Jak používat Linux na Command

  3. Jak používat příkaz historie Linuxu