GNU/Linux >> Znalost Linux >  >> Linux

Najít příkaz v Linuxu/UNIXu

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.


Linux
  1. UNIX / Linux:10 příkladů příkazů Netstat

  2. najdete příklady příkazů v Linuxu

  3. Linux příkaz find - zobrazit průběh

  1. Jak najít soubor v Linuxu

  2. Použití příkazu ripgrep (rg) v Linuxu

  3. Linuxový příkaz mv

  1. Linux du command

  2. Linuxový ip příkaz

  3. 10 Příklady příkazů Xargs v Linuxu / UNIXu