GNU/Linux >> Znalost Linux >  >> Linux

Rychle vyhledejte soubory v Linuxu pomocí příkazu Locate

Jak název napovídá, příkaz locate se v Linuxu používá k vyhledání (prohledávání) souboru. Má následující syntaxi:

locate [options] filename

I když je použití příkazu locate opravdu jednoduché, přichází se spoustou if a buts. Pro začátek, pokud nenajde soubor, nemusí to nutně znamenat, že soubor v systému neexistuje.

Nenechte se hned zmást. Vysvětlím, jak funguje příkaz locate a jak jej můžete použít k hledání souborů.

Použití příkazu locate v Linuxu

Příkaz locate pracuje na indexu, tj. databázi umístění souborů. Když použijete příkaz, odkazuje na tento index namísto prohledávání celého souborového systému. To je důvod, proč je locate super rychlý při hledání souborů v Linuxu.

Některé distribuce Linuxu automaticky pravidelně indexují celý souborový systém. Tento index můžete také vytvořit ručně (ukážu vám jej později v tomto článku).

Použití příkazu locate je smrtelně jednoduché. Stačí zadat název souboru:

locate filename

Výsledek zobrazí všechna místa, kde byl nalezen vámi zadaný soubor.

[email protected]:~$ locate desktop.iso
/home/abhishek/desktop.iso

Nejlepší na tom je, že k nalezení souboru nemusíte být v určitém adresáři. Pamatujte, že příkaz locate neprohledává souborový systém, ale index. To je důvod, proč při hledání souborů nemusíte zadávat cestu nebo adresář.

Můžete také provést vyhledávání bez rozlišení velkých a malých písmen pomocí volby -i:

[email protected]:~$ locate -i desktop.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso

Mějte na paměti, že výsledek může zobrazit všechny soubory, které mají ve svém názvu hledaný výraz.

[email protected]:~$ locate -i desktop
/home/abhishek/eoan-desktop-amd64.iso
/home/abhishek/Bionic-Desktop-amd64.iso
/home/abhishek/desktop.iso
/home/abhishek/Downloads/Desktop.iso

Můžete také použít regulární výraz s locate:

locate -r regex_expression

Použití updatedb k vytvoření vlastního indexu pro příkaz locate

Toto je pouze pro informační účely a nemyslím si, že byste to museli používat.

Pokud chcete vytvořit index aktuálního adresáře (a jeho podadresářů), můžete použít příkaz updatedb takto:

updatedb -l0 -U my_directory -o index_file

Jakmile vytvoříte tento indexový soubor, můžete požádat příkaz locate o explicitní použití tohoto indexu:

locate -d index_file file_name

Je locate lepší než příkaz find?

Pokud chcete hledat soubory v adresářové struktuře, která se příliš nemění, je dobrou volbou příkaz locate. Je to také super rychlé.

Ale příkaz find vám dává spoustu možností, speciálně pro provádění složitých možností vyhledávání.

Oba příkazy mají své použití. Podle mého názoru, pokud se cítíte líní a chcete rychlý výsledek, použijte locate. Pokud se vám výsledek nelíbí, přepněte na příkaz find.

Co si o tom myslíte?


Linux
  1. 5 nástrojů příkazového řádku pro rychlé vyhledání souborů v systému Linux

  2. Hledat soubory s Gui?

  3. Použijte Najít a najít k vyhledání souborů v Linuxu

  1. Tipy pro výpis souborů s ls na příkazovém řádku Linuxu

  2. Jak najít soubory v Linuxu pomocí příkazu Najít

  3. Vyhledejte příkaz v Linuxu

  1. Příkaz Rm v Linuxu

  2. Příkaz skupin Linux pro začátečníky (s příklady)

  3. Výukový program příkazu Linux zforce s příklady