Vyhledávání souborů
3. Příkaz find
Příkaz find má významně strukturovanější syntaxi. Je poněkud pomalejší než příkaz locate, protože vždy prohledává disk v reálném čase, nicméně disponuje velkým množstvím přepínačů a možnostmi definice parametrů pro hledání. Kromě běžných přepínáčů, které lze nastudovat z dokumentace k příkazu, disponuje tzv. testy, díky kterým lze blíže specifikovat, co uživatel hledá. Nejčastěji se používají testy
- -name - hledá soubor podle uvedeného jména
- -type - hledá podle typu souboru (f - normalní soubor, d - adresář, l - link)
- -user [username] - hledá soubory, jejichž vlastníkem je uvedený uživatel
- -size [filesize] - hledá soubory s uvedenou velikostí
- -empty - hledá prázdné soubory
- -mindepth n | -maxdepth n - hledá soubory na uvedené úrovni vnoření
Testy je možné kombinovat a používat jich více současně. Příkaz find defaultně vyhledává od aktuálního místa směrem níže ke vnořeným adresářům. Je-li potřeba začít hledání z jiného místa, uvede se jako první argument cesta k tomuto místu.
Kromě testů disponuje příkaz find sadou akcí, které umožní provést příslušnou akci s nalezenými výsledky. Nejčastější akce jsou
- -delete - nalezené soubory následně smaže
- -ls - provede výpis detailních informací u nalezených souborů
- -exec - spustí externí příkaz shellu pro každý soubor ze sady nalezených záznamů (v závěru této akce se použijí speciální operátory {} \; kde {} reprezentuje sadu nalezených výsledků, středník ukončuje samotný příkaz v části exec, protože se ale jedná o funkční operátor, musí být potlačena jeho funkce zpětným lomítkem)