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 dě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 které . Nicméně poslední nástroj (který ) se používá pouze pro 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 lokace spočívá v tom, ž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 ohledně toho, odkud hledat (počáteční bod).
Níže je uvedena syntaxe pro spuštění locate příkaz:
# locate [option] [search-pattern]
Demonstrovat nevýhodu lokace , 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 volba --basename
nebo -b
říká lokat aby odpovídal pouze základnímu názvu souboru (adresáře) (což je přesně pkg ), ale ne cestu (/cesta/k/baleni ). Kde \
je globbing znak, zakazuje implicitní nahrazení pkg od *pkg* .
$ locate --basename '\pkg'
Jak můžete vidět z výstupu příkazu výše, najděte bude hledat od kořene (/) adresář, proto jsou porovnány další adresáře se stejným názvem.
K řešení tohoto problému proto použijte 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 -name
flag čte výraz, který je v tomto případě základním názvem adresáře.
$ find . -name "pkg"
Pokud narazíte na „Oprávnění odepřeno ” chyby, použijte příkaz sudo takto:
$ sudo find . -name "pkg"
Pomocí -type
můžete zabránit hledání hledání jiných typů souborů kromě adresářů příznak k určení typu souboru (v příkazu níže d
znamená adresář) takto:
$ 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 možnost -iname
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 locate příkaz.
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 .