Linuxový příkaz find se hodí při hledání souborů přímo z příkazového řádku. Příkaz find má kromě jiného přidělena vyhledávací kritéria, jako jsou oprávnění, vlastnictví, modifikace, velikost, čas a datum, aby bylo možné najít příslušný soubor nebo adresář.
Příkaz find je ve výchozím nastavení k dispozici ve všech distribucích Linuxu, takže pro jeho použití není třeba instalovat speciální balíčky. Vzhledem ke svému významu je příkaz find nezbytným příkazem, který se musíte naučit, pokud se chcete dozvědět více o navigaci v příkazovém řádku v jakékoli distribuci Linuxu.
Zdůrazníme některé příklady příkazů find a vysvětlíme různé možnosti, které můžete použít.
Syntaxe
$ find location comparison-criteria search term Výpis souborů v aktuálním adresáři
Chcete-li zobrazit seznam všech souborů v adresáři včetně souborů uvnitř složek, spusťte níže uvedený příkaz.
$ find . Ukázkový výstup

Vyhledávání souborů v zadaném adresáři
Pokud chcete prohledat všechny soubory v daném adresáři, použijte příkaz find následovně
$ find directory_name Chcete-li například vyhledat všechny soubory v /boot, spusťte příkaz
$ find /boot Ukázkový výstup

Vyhledávání souborů pomocí názvu souboru v zadaném adresáři
Pokud chcete zadat kritéria vyhledávání pomocí názvu souboru v adresáři, syntaxe bude následující
$ find directory_name -name "file_name" Chcete-li například vyhledat soubory Apache2 v adresáři /etc, spusťte
$ find /etc -name "apache2" Výstup

Rekurzivně vyhledat všechny soubory se zadanou příponou
Pokud chcete vyhledat konkrétní soubory s určitou příponou v daném adresáři, syntaxe bude následující
$ find directory_name -name "*.extension" Chcete-li například vyhledat všechny konfigurační soubory (.conf) v adresáři /etc, spusťte
$ find /etc -name "*.conf" Ukázkový výstup

Omezení hloubky vyhledávání
Můžete se rozhodnout omezit hloubku vyhledávání souborů v adresářích. Pokud například chcete omezit vyhledávání souborů na první úroveň adresáře, syntaxe bude
$ find directory_name -maxdepth 1 -name "*.conf"
Pokud tedy chcete omezit hledání souborů na adresář první úrovně v /etc pro soubory s .conf spuštění rozšíření:
$ find /etc -maxdepth 1 -name "*.conf" Ukázkový výstup

Jak je vidět ve výstupu výše, vyhledávání souborů je omezeno na /etc úroveň adresáře. Pokud chcete provést intenzivnější vyhledávání a jít hlouběji do jiných adresářů v /etc adresář, zvyšte maxdepth hodnotu.
Například pro vyhledávání souborů s .conf rozšíření až do 3. spuštění adresáře
$ find /etc -maxdepth 3 -name "*.conf" Ukázkový výstup

Jak je vidět z výše uvedeného výstupu, vyhledávání pokračuje až do 2. a 3. adresáře.
Invertovat výsledky vyhledávání
Pomocí příkazu find můžete také vyhledat soubory, které nesplňují zadaná kritéria. Tento režim je užitečný, když chcete odstranit známé soubory z vyhledávacího vzoru.
Chcete-li to provést, použijte -not -name atribut, jak je uvedeno
$ find /etc -maxdepth 1 -not -name "*.conf" Ukázkový výstup

Výše uvedený výstup vytiskne všechny soubory, které nemají .conf rozšíření souboru.
Pomocí najít pomocí operátoru OR
Pomocí operátoru OR, který je symbolizován -o, můžete zkombinovat výsledky hledání s hledáním. příznak zobrazený v příkladu níže
$ find /etc -maxdepth 3 -name "cron" -o -name "ssh" Ukázkový výstup

Výše uvedený příkaz vyhledává soubory s názvem ssh NEBO cron v adresáři
Vyhledávání pouze souborů nebo adresářů
Pokud chcete hledat pouze soubory, použijte - type f atribut, jak je znázorněno v příkladu níže
$ find /etc -type f -name "ssh" Ukázkový výstup

Pokud chcete hledat pouze adresáře, použijte - type d atribut, jak je znázorněno v příkladu níže.
$ find /etc -type d -name "ssh" Ukázkový výstup

Vyhledávání souborů vlastněných konkrétním uživatelem
Chcete-li vyhledat soubory vlastněné konkrétním uživatelem v určitém adresáři, použijte syntaxi:
$ find /path -user username
Chcete-li například najít soubory vlastněné uživatelem james v /home adresáře spusťte níže uvedený příkaz
$ find /home -user james Ukázkový výstup

Vyhledávání souborů s určitými oprávněními
Chcete-li vyhledat soubory se specifickými oprávněními, použijte níže uvedenou syntaxi
$ find /directory_name -type f -perm value Chcete-li například vyhledat soubory s oprávněním 755 v /etc adresář, spusťte:
$ find /etc -type f -perm 755 Ukázkový výstup

Vyhledávání souborů s určitou velikostí nebo rozsahem souborů
Linuxový příkaz find také nabízí uživatelům možnost vyhledávat soubory podle jejich velikosti.
Hledejte soubory velikosti N
Chcete-li například vyhledat soubory o velikosti 10 kB, spusťte:
$ find /etc -type f -size 10k Ukázkový výstup

Chcete-li vyhledat soubory větší než 10 kB, spusťte
find /etc -type f -size +10k Ukázkový výstup

Chcete-li vyhledat soubory menší než 10 kB, spusťte
find /etc -type f -size -10k Ukázkový výstup

Shrnutí
To byl rychlý přehled příkladů příkazů find pro Linux. Jak již bylo ukázáno, vyhledávání souborů a adresářů na příkazovém řádku je velmi snadné. Znalost toho, jak příkaz funguje, je základním nástrojem pro všechny správce systému.
Neváhejte a vyzkoušejte výše uvedené příklady příkazů a dejte nám vědět, jak to dopadlo.