jak_vyhledávat_soubory

Jak vyhledávat soubory

Ať už máte svůj domovský adresář rozvržen jakkoli, může se stát, že nebudete schopni něco najít, v tom vám Ubuntu samozřejmě pomůže. V Ubuntu existuje hned několik nástrojů, které vám hledání ulehčí.

Hledání souboru podle názvu

Znáte-li název souboru, můžete použít nabídku Místa → Hledat soubory, která slouží k vyhledávání souborů na discích.

  • soubory můžete vyhledávat v konkrétních adresářích a samozřejmě v celém počítači
  • můžete zadat část jména, text (pro čistě textové soubory) nebo časové období
  • velké množství kritérií, která mohou být pro vyhledávání použita
  • po poklepání na soubor se otevře příslušný program
  • možnost Otevřít složku v kontextové nabídce každého výsledku vám umožní zobrazit položku ve správci souborů Nautilus

Vyhledávání v dokumentech

Oblíbené desktopové vyhledávání je dostupné i v Ubuntu. K tomu slouží vyhledávač Tracker

Tracker spustíte z nabídky Aplikace → Příslušenství → Tracker Search Tool, případně příkazem tracker.

Nastavení se provádí přes nabídku Systém → Volby → Hledání a indexování, zde je potřeba povolit indexování na kartě Obecné, jinak vyhledávání nebude funkční. Patrně bude potřeba také restart systému.

Na kartě Ignorované soubory doporučuji následující nastavení:

Na kartě Soubory můžete přidat systémovou dokumentaci a adresáře s konfigurací systému, viz obrázek. Pokud chcete v některých adresářích sledovat změny pouze po spuštění systému a ne v průběhu sezení, přidejte je do Procházené složky.

Odstraňte balík tracker.

Alternativa jménem Beagle

Stejně jako výše zmíněný Tracker i Beagle je tzv. desktopovým vyhledávačem. Výhodou Beaglu je velké množství zásuvných modulů, dále podporuje vyhledávání v jiných PC v rámci místní sítě. Zároveň má vyšší nároky na systémové prostředky.

Beagle spustíte z nabídky Aplikace → Příslušenství → Vyhledávání, případně příkazem beagle.

Samotné vyhledávání můžete začít i klávesovou zkratkou F12.

Odstraňte balík beagle.

Možnosti příkazové řádky

Pro vyhledávání se nám budou hodit především dva příkazy - find a grep - jejich kombinací se dá dosáhnout velmi pěkných výsledků. Vyhledávat se dá samozřejmě různě (v kombinaci s dalšími příkazy), například v instalačních balících, v procesech atd., nicméně tento návod nemá ambice pokrýt tuto problematiku celou, vydalo by to totiž na pěknou knihu.

Zde uvádím některé další (zájemce nechť se podívá na odkazy pod tímto návodem, kde lze nalézt několik seriálů o příkazové řádce v Linuxu):

findprohledává adresářovou strukturu a výstup filtruje prostřednictvím vzorků
grepvyhledává vzorky v obsahu souborů
whereisvyhledává příkaz a s ním související zdrojové a manuálové stránky v nastavených cestách
whichprohledává nastavené cesty a zjišťuje zda příkaz volá samostatnou utilitu
locatevyhledává soubory pomocí vzorků v pomocné databázi

find vždy prochází celou větev adresářové struktury, která začíná udanou cestou. Přitom hledá ty soubory (i adresář je souborem), které splňují zadané podmínky. Najde-li takové, pak může nad těmito nalezenými soubory provádět různé operace počínaje vypsáním informace o jejich umístění po spouštění nejrůznějších skriptů. find má ohromné množství parametrů, proto doporučuji studovat pro náročnější nasazení jeho manuálovou stránku. Následujících příklady pouze demonstrují nejčastější možnosti použití a popisují jak vlastně find pracuje.

taddeo@taddeo-laptop:~$ find

Příkaz bez parametrů vypíše seznam všech souborů a adresářů v aktuálním adresáři, a to rekurzívně, tedy i vnořené adresáře a soubory.

taddeo@taddeo-laptop:~$ find /home/taddeo/Plocha/

Příkaz vypíše seznam všech souborů a adresářů pro zadanou cestu.

taddeo@taddeo-laptop:~$ find -type d

Vyhledá pouze adresáře.

taddeo@taddeo-laptop:~$ find -name soubor.txt

Vyhledá soubor.txt v aktuálním adresáři, pokud find soubor najde, pak k němu vypíše plnou cestu. Pokud ne, nevypíše nic.

grep na rozdíl od příkazu find neprochází adresářovou strukturu, ale obsah předaných souborů. Ty můžeme předat buď najednou, jako seznam na příkazovém řádku, nebo pomocí vzorku. Jenže při větším počtu souborů narazíme na omezení příkazové řádky. Pak je vhodnější jej použít v kombinaci s příkazem find, navíc tím získáme možnost sofistikovaněji předávat soubory podle dalších podmínek.

Pro více informací doporučuji tento článek Vyhledávání v Linuxu na serveru AbcLinuxu.

Odkazy

  • Poslední úprava: 2019/02/25 18:20
  • (upraveno mimo DokuWiki)