Vyhledávání na webu

Způsoby, jak používat příkaz „najít“ k efektivnějšímu vyhledávání adresářů


Tento tutoriál vás provede různými způsoby hledání adresáře v Linuxu. Jak už možná víte, v Linuxu je vše soubor včetně adresářů. A jedna z běžných věcí, kterou uživatel Linuxu udělá na příkazovém řádku, je hledání souboru nebo adresáře.

K vyhledávání souborů na příkazovém řádku se používá několik různých prostředků a nástrojů, jako je find, locate a which. Poslední nástroj (který) se však používá pouze k vyhledání příkazu.

V rámci tohoto tutoriálu se zaměříme hlavně na nástroj find, který prohledává soubory na živém souborovém systému Linuxu a je efektivnější a spolehlivější než locate.

Nevýhodou locate je, že čte jednu nebo více databází vytvořených updatedb, neprohledává živý souborový systém. Kromě toho nenabízí tak dobře flexibilitu, pokud jde o to, odkud hledat (výchozí bod).

Níže je uvedena syntaxe pro spuštění příkazu locate:

locate [option] [search-pattern]

Abychom demonstrovali nevýhodu locate, předpokládejme, že hledáme adresář s názvem pkg v aktuálním pracovním adresáři.

Poznámka: V níže uvedeném příkazu možnost --basename nebo -b říká locate<, aby odpovídal pouze základnímu názvu souboru (adresáře) (což je přesně pkg), ale ne cestě (/cesta/k/balu). Je-li \ kulový znak, zakáže implicitní nahrazení pkg za *pkg*.

locate --basename '\pkg'

Jak můžete vidět z výstupu příkazu výše, locate bude vyhledávat počínaje kořenovým adresářem (/), proto se shodují další adresáře se stejným názvem.

Chcete-li tedy tento problém vyřešit, použijte příkaz najít podle níže uvedené zjednodušené syntaxe:

find starting-point options [expression]

Podívejme se na několik příkladů.

Chcete-li vyhledat stejný adresář (pkg) výše v aktuálním pracovním adresáři, spusťte následující příkaz, kde příznak -name přečte výraz, který je v tomto případě základní název adresáře.

find . -name "pkg"

Pokud narazíte na chyby „Oprávnění odepřeno “, použijte příkaz sudo takto:

sudo find . -name "pkg"

Vyhledávání můžete zabránit hledání jiných typů souborů kromě adresářů pomocí příznaku -type k určení typu souboru (v příkazu níže d znamená adresář) následovně:

sudo find . -type d -name "pkg"

Kromě toho, pokud chcete vypsat adresář ve formátu dlouhého výpisu, použijte přepínač akce -ls:

sudo find . -type d -name "pkg" -ls

Dále volba -jméno povolí vyhledávání bez rozlišení velkých a malých písmen:

sudo find . -type d -iname "pkg" 
sudo find . -type d -iname "PKG" 

Chcete-li najít zajímavější a pokročilejší informace o použití, přečtěte si manuálové stránky najít a najít.

man find
man locate

Poslední poznámkou je, že příkaz find je spolehlivější a efektivnější pro vyhledávání souborů (nebo adresářů) v systému Linux, když je porovnán s příkazem locate.

Stejně jako dříve nám nezapomeňte poslat svůj názor nebo dotazy prostřednictvím sekce komentářů níže. Nakonec zůstaňte vždy připojeni k Tecmint.