3 nejlepší způsoby, jak najít soubory a složky pomocí terminálu Linux

Většina uživatelů operačního systému Linux, kteří se snaží lokalizovat určité soubory či adresáře, se obvykle spoléhá na grafické správce souborů. Tyto nástroje sice nabízejí základní funkce vyhledávání, ale často bývají pomalé a jejich výsledky nejsou vždy přesné. Pro efektivnější a rychlejší hledání doporučujeme využít sílu terminálu.

Než se pustíme do detailů, dovolte malé upozornění: na konci tohoto článku naleznete videonávod.

V tomto textu se zaměříme na několik jednoduchých a účinných metod, jak pomocí terminálu v Linuxu rychle najít požadované soubory a adresáře.

1. Kombinace příkazů find a grep

Příkaz find je mocný nástroj pro vyhledávání souborů v Linuxu. Pracuje z příkazové řádky, kde na základě zadaných klíčových slov prohledává celý systém. Jeho komplexnost je zároveň jeho silou i slabinou. Pokud jej spustíte bez dalších parametrů, vypíše téměř každý soubor na vašem počítači, což znemožňuje efektivní hledání konkrétních položek.

Pro efektivnější využití příkazu find je vhodné jej kombinovat s dalšími nástroji, zejména s příkazem grep. Příkaz grep umožňuje filtrovat výsledky hledání podle konkrétních klíčových slov. Tato kombinace je velmi efektivní. Například, pro nalezení všech souborů a složek obsahujících slovo „bitcoin“ postupujte takto:

find | grep bitcoin

grep zajistí, že se zobrazí pouze ty výsledky, které obsahují zadané slovo. Stejným způsobem je možné hledat soubory s konkrétní příponou. Například pro vyhledání všech PNG obrázků použijte:

find | grep .png

Protože počet PNG souborů může být vysoký, pro lepší přehlednost je vhodné výstup přesměrovat na další příkaz, jako například more:

find | grep .png | more

2. Příkaz mlocate

Dalším užitečným nástrojem je příkaz mlocate. Ve srovnání s find je zpravidla uživatelsky přívětivější. Důvodem je jeho schopnost vyhledávat na základě klíčových slov bez nutnosti použití dalších parametrů nebo kombinací s jinými příkazy jako grep. Bohužel není předinstalován na všech distribucích Linuxu. Následující kroky ukazují instalaci na různých distribucích:

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

Po úspěšné instalaci je nutné vytvořit databázi souborů pomocí příkazu updatedb. Bez této databáze nebude locate fungovat. Vytvoření databáze vyžaduje oprávnění root, proto je nutné příkaz spustit s sudo:

sudo updatedb

Proces vytváření databáze může trvat delší dobu v závislosti na rychlosti vašeho disku a počtu souborů. Jakmile terminál znovu přijme textový vstup, je databáze připravena k použití. Pro vyhledávání pak můžete používat příkaz locate následovaný hledaným výrazem:

locate filename

nebo

locate keyword

nebo

locate "*.FileExtension"

Výsledky vyhledávání můžete uložit do textového souboru pro pozdější použití:

locate keyword >> locate-keyword-results.txt

Filtrování textového souboru s výsledky locate

Pro filtrování výsledků uložených v textovém souboru, můžete použít kombinaci příkazů cat a grep. Například, pro nalezení všech MP3 souborů v textovém souboru s výsledky vyhledávání, použijte:

cat locate-mp3-results.txt | grep "mp3 keyword"

grep zobrazí pouze řádky obsahující hledaný výraz.

3. Kombinace příkazů ls a grep

Kromě vyhledávacích nástrojů existují i další způsoby, jak hledat soubory v terminálu. Hlavní metodou je příkaz ls (list), který vypíše obsah aktuálního adresáře. Tento příkaz je užitečný, pokud potřebujete najít konkrétní složku. Nicméně samotný ls může být neefektivní. Pro zlepšení jeho funkčnosti je vhodné jej kombinovat s příkazem grep. Tato kombinace umožňuje filtrovat výpis podle hledaných klíčových slov.

Nejprve se pomocí příkazu cd přesuňte do adresáře, kde chcete hledat. Poté použijte kombinaci ls a grep:

ls | grep keyword

Pro zobrazení skrytých souborů a složek použijte přepínač -a:

ls -a | grep keyword