Většina uživatelů, kteří se snaží najít soubory a složky na svém počítači se systémem Linux, se uchýlí ke správci souborů. Nástroje pro vyhledávání správce souborů obvykle dokážou do určité míry najít to, co uživatelé potřebují. Problém je v tom, že bývají pomalé a vybíravé. Pro výkonnější vyhledávání souborů v Linuxu zvažte použití terminálu.
SPOILER ALERT: Přejděte dolů a podívejte se na video tutoriál na konci tohoto článku.
V této příručce si projdeme několik jednoduchých způsobů, jak rychle a efektivně najít soubory a složky pomocí terminálu Linux.
Table of Contents
1. Find And Grep
Find je výkonný vyhledávací nástroj pro desktop Linux. Funguje na příkazovém řádku tak, že spouští vyhledávací dotazy na základě klíčových slov, která uživatel zadá. Hledání je velmi složité, a proto jej mnozí používají. Zde je návod, jak použít find. Nejprve otevřete terminál a spusťte find. Všimnete si, že seznam Najít obsahuje téměř každý soubor na vašem PC. Je dobré, že find toho tolik prohledává, ale problém s tímto provozem je ten, že nikdy nenajdete to, co hledáte.
Chcete-li nástroj hledání lépe využít, zvažte jeho zřetězení pomocí několika příkazů. Konkrétně grep. Grep je také velmi výkonný a uživatelé s ním mohou filtrovat konkrétní klíčová slova. Kombinovat to s hledáním je úžasná kombinace. Chcete-li například na svém počítači se systémem Linux najít soubory a složky označené jako „bitcoinové“, postupujte takto:
najít | grep bitcoin
Grep odfiltruje a zobrazí nám pouze výsledky, které obsahují klíčové slovo „bitcoin“.
Funguje také se specifickými příponami souborů. Chcete-li například najít každý soubor PNG na počítači se systémem Linux, spusťte příkaz find a grep takto:
find | grep .png
Na vašem počítači se systémem Linux je pravděpodobně spousta souborů PNG, takže aby byl seznam uživatelsky přívětivější, přidejte další jako třetí příkaz.
find | grep .png | more
2. Přemístit
Mlocate je další velmi užitečný příkaz. Pravděpodobně je uživatelsky přívětivější než najít. Důvod, proč lokalizace funguje lépe, je ten, že dokáže lépe vyhledávat pomocí klíčových slov. K tomu není potřeba používat další možnosti příkazů nebo věci jako grep. Nástroj pro vyhledání bohužel není předinstalován v každé distribuci Linuxu. Zde je návod, jak to nastavit. Nejprve nainstalujte software do počítače.
Ubuntu
sudo apt install mlocate
Debian
sudo apt-get install mlocate
Arch Linux
sudo pacman -S mlocate
Fedora
sudo dnf install mlocate
OpenSUSE
sudo zypper install mlocate
S nainstalovaným softwarem otevřete terminál a pomocí příkazu updatedb vytvořte novou databázi. Je vyžadováno vytvoření nové databáze, jinak dojde k chybě příkazu locate a odmítne pracovat. Mějte na paměti, že databáze kontroluje VŠECHNY SOUBORY na vašem PC, takže musí být spuštěna jako root a ne jako příkaz běžného uživatele.
sudo updatedb
Příkaz updatedb trvá poměrně dlouho v závislosti na rychlosti vašeho pevného disku a také na počtu souborů v systému. Nechte terminál otevřený a nechte příkaz běžet. Jakmile terminál znovu přijme textový vstup, budete vědět, že databáze je připravena k použití.
Chcete-li vyhledávat pomocí vyhledávacího nástroje, postupujte podle níže uvedeného příkladu. Nezapomeňte změnit „název souboru“ nebo „klíčové slovo“ na své vlastní hledané výrazy, protože tato slova jsou pouze zástupnými symboly.
locate filename
nebo
locate keyword
nebo
locate "*.FileExtension"
Po zadání hledaného výrazu locate zkontroluje databázi a vrátí vám výsledky. Pokud je potřeba třídit spoustu věcí, zvažte uložení výsledků do textového souboru na později.
locate keyword >> locate-keyword-results.txt
Filtr Přemístění textového souboru
Přepojení výsledků hledání do textového souboru je dobrý způsob, jak si uchovat nevyřízené položky výsledků hledání pro budoucí použití. Pokud potřebujete filtrovat tyto výsledky hledání, zkuste použít příkaz cat a grep společně.
Chcete-li například filtrovat předchozí výsledek hledání a najít všechny soubory MP3 v mém počítači, příkaz je:
cat locate-mp3-results.txt | grep "mp3 keyword"
Grep vyfiltruje přesně ten soubor, který potřebujete.
3. LS a Grep
Kromě použití vyhledávacího nástroje k procházení vašeho počítače se systémem Linux existují i jiné způsoby, jak hledat soubory. Hlavní způsob, jak to udělat v terminálu, je pomocí příkazu ls (aka List). Tento nástroj je jednoduchý, ale uvádí všechny položky v adresáři. To může být velmi užitečné, pokud potřebujete najít konkrétní složku. Nicméně, ls sám o sobě může být strašně neefektivní. Chcete-li tento příkaz vylepšit, zvažte jeho kombinaci s příkazem grep. Díky tomu bude snazší odfiltrovat složky nebo soubory, které hledáte. Nebo je alespoň filtrujte na několik klíčových slov.
Nejprve pomocí cd přejděte do adresáře, kde hledáte konkrétní soubory nebo složky.
Poté zkombinujte ls a grep.
ls | grep keyword
Případně nechte ls odhalit i skryté složky pomocí:
ls -a | grep keyword