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.