GNU/Linux >> Znalost Linux >  >> Linux

Jak najít soubory v Linuxu pomocí příkazu Najít

Úvod

find umožňuje vyhledávat konkrétní řetězec znaků pomocí rozhraní příkazového řádku Linuxu. Je to velmi praktický nástroj, protože není omezen na názvy souborů. Můžete jej použít k prohledání konkrétního místa, přidat možnosti pro ovládání chování vyhledávání a pomocí dalších příkazů mu sdělit, jak spravovat data, která najde.

Tento výukový program vám ukáže, jak vyhledat a spravovat soubory v systému Linux pomocí find příkaz.

Předpoklady

  • Přístup k oknu terminálu/příkazovému řádku
  • Uživatelský účet s sudo privilegia

Základní syntaxe příkazu hledání

Základní syntaxe z find příkaz používá následující formát:

find <options> <location> <expression> <action> <name>
  • Umístění – Pokyn find kde začít hledat hledaný výraz.
  • Výraz – Řekne find jakou kategorii informací má hledat.
  • Akce – Aakce atribut provede příkaz ve výsledcích vyhledávání. Je to volitelný prvek.
  • Jméno – Představuje řetězec textu (nebo jiná data), který hledáte.
  • Možnosti – Tento atribut není povinným prvkem find příkaz. Lze jej použít ke kontrole chování a optimalizaci procesu vyhledávání.

Jak používat příkaz find

find příkaz uvádí všechny výskyty řetězce znaků, který jste zahrnuli do vyhledávání. find příkaz také umožňuje definovat parametry vyhledávání, možnosti a umístění s vysokou úrovní přesnosti.

Najít soubory podle umístění

Vyhledávání souborů na základě jejich řetězce umístění může být jednoduchý příkaz, například:

sudo find /home/user filename

Tento příkaz vyhledá uživatele účet na domovské stránce adresář. Pokud si nejste jisti, kam se chcete podívat, můžete umístění vyhledávání rozšířit.

Pokud máte například dva uživatelské účty a nepamatujete si, do kterého jste soubor uložili, můžete zadat:

sudo find /home filename

find příkaz prohledá vše pod /home adresář (včetně všech uživatelských adresářů) pro hledaný výraz. V našem příkladu je hledaný výraz název souboru .

Použijte tečku . pro vyhledání adresáře, ve kterém se aktuálně nacházíte:

sudo find .

Zadejte lomítko / a váš systém prohledá celý pevný disk:

sudo find /

Znak vlnovky ~ se používá k prohledávání domovského adresáře aktuálního uživatele:

sudo find ~

Používejte výrazy s příkazem find

Výrazy aplikují další parametry na find proces vyhledávání příkazů. Nejběžnějším výrazem je -name . Tento výraz hledá umístění, které jste zadali pro soubor s názvem, který zadáte do název pole.

sudo find –name settings.txt

Systém vyhledá v aktuálním adresáři jakýkoli soubor s názvem settings.txt.

Systém zobrazuje pouze názvy souborů s přesnou shodou s hledanými výrazy. Toto omezení může způsobit problémy, pokud má název souboru například velká písmena.

Chcete-li říct find chcete-li ignorovat velká/malá písmena, použijte –iname výraz takto:

sudo find /home –iname filename

Systém prohledá /home adresář a vrátí cokoliv s názvem název souboru , Název souboru a dokonce FILENAM .

Použijte –type d výraz pro určení, zda hledáte soubor nebo adresář:

sudo find . –type d –name Videos

Tento příkaz vyhledá v aktuálním adresáři (s tečkou) adresář s názvem „Videa .“

Ve výchozím nastavení find vyhledává soubory, ale soubory můžete určit pomocí -type f .

Zobrazit všechny soubory, které neobsahují hledaný název:

sudo find . -not filename

Vyhledejte soubory s danou úrovní oprávnění:

sudo find . -perm 0000

Vrátit seznam všech souborů vlastněných konkrétním uživatelským jménem:

sudo find . -user username

Zobrazit posledních 00 upravených souborů:

sudo find . -mtime 00

Číselná hodnota určuje počet souborů, které systém zobrazí. Zobrazit posledních 00 přístupných souborů:

sudo find . -atime 00

Zobrazit všechny soubory větší než 20 megabajtů:

sudo find . -size +20M

Terminál zobrazí seznam všech souborů, které odpovídají kritériím velikosti.

Příkazy odkazující na velikost hledaných položek lze použít jednotlivě k zobrazení všech souborů větších než určitá velikost, menších než určitá velikost nebo v definovaném rozsahu.

Najděte název nebo příponu

name atribut definuje objekt vašeho hledání. find nástroj přejde na zadané místo pro jakýkoli řetězec znaků, který zadáte. Název souboru, který hledáte, je obvykle na konci příkazu, za umístěním, možnostmi a výrazy.

Standardní písmena a číslice se zadávají jako řetězec znaků na konci příkazu. Speciální znaky – zástupný znak, tečka, lomítko atd. – vyžadují použití jednoduchých uvozovek kolem názvu. Jednoduché uvozovky zajišťují, že systém interpretuje požadavek správně.

Chcete-li vyhledat soubory s konkrétní příponou, například .html, zadejte následující příkaz nebo .php :

sudo find . –type f –name ‘*.html’

Systém vyhledává v aktuálním adresáři běžné soubory (type –f ) které mají příponu .php . V tomto případě hvězdička (* znak) se používá jako zástupný znak , což znamená, že může zastupovat libovolný počet znaků jakéhokoli typu.

Zástupné znaky jsou užitečné, pokud si pamatujete pouze část názvu souboru nebo hledáte soubory s určitou příponou.

Proveďte akce pomocí příkazu find

Viděli jsme, jak používat find příkaz k zobrazení výsledků hledání v okně terminálu. Akce atribut může vylepšit tuto funkčnost a provést konkrétní úkol, jakmile je soubor umístěn.

Následující příkaz prohledává skutečný obsah souborů (místo pouze názvů souborů):

sudo find ~ –type f –exec grep “contents” ‘{}’ \; –print
  1. Žádáme systém, aby našel soubor (-type f ) v domovském adresáři našeho uživatele (~ ).
  2. Nařídíme systému, aby provedl akci (-exec ) spuštěním grep příkaz pro vyhledání slova obsah v obsahu všech souborů .
  3. {} závorky označují výsledky shody find a jsou v jednoduchých uvozovkách, takže grep příkaz je nevykládá špatně.
  4. Uzavřeme grep příkaz se středníkem (; ) a používáme zpětné lomítko (\ ), aby si systém středník špatně nevyložil jako pokyn.
  5. Nakonec –print volba říká systému, aby zobrazil výsledky.

Zkopírujte a vložte tento příkaz do okna terminálu a místo ~ nahraďte svou vyhledávací cestu znak a hledaný výraz pro slovo obsah.

Můžete použít find –exec kombinaci pro rychlou změnu oprávnění souboru:

sudo find /path –name “filename.ext” –exec chmod 777 ‘{}’ \;

Tento příkaz používá –exec příkaz ke spuštění chmod změnit oprávnění k souboru název_souboru.přípona aby jej mohl číst, zapisovat a spouštět každý.

Vyhledejte a odstraňte soubory pomocí příkazu find

Pomocí –delete můžete rychle najít a odstranit jeden nebo více souborů jedním příkazem.

V tomto příkladu find odstraní všechny soubory, které končí příponou .html rozšíření.

sudo find . –name “*.html” –delete

Tento příkaz prohledá aktuální adresář (zobrazený v příkazovém řádku) pro všechny soubory s .html rozšíření a odstraňte je. Obrázek ilustruje jednoduchost procesu.

Tento typ akce je užitečný pro odstranění starých záložních souborů, pokud jste nahradili “*.bak“ místo “*.bmp“.

Přidejte možnosti k nalezení příkazu

Možnosti jsou speciální funkce vložené před cestu hledání v find příkazový řetězec. -L , -H a -P jsou volitelné prvky používané k ovládání manipulace se symbolickými odkazy.

  • –P Tato možnost představuje výchozí chování. Systém nesleduje symbolické odkazy.
  • -H Systém nesleduje symbolické odkazy s výjimkou zpracování tohoto specifického příkazu.
  • -L Následuje symbolické odkazy. Informace jsou převzaty ze souboru, na který odkaz směřuje. Ne pro samotný odkaz.

Možnosti mohou změnit úroveň optimalizace vyhledávání. Existují tři (3) úrovně optimalizace, které definují, jak vyhledávací program organizuje vyhledávání a rychlost provádění tohoto vyhledávání.

  • –O1 Tato úroveň optimalizace se používá ve výchozím nastavení. Nejprve se spustí vyhledávání na základě názvů souborů.
  • –O2 vyhledávání podle typu se spouští hned po vyhledávání podle jmen. Než proběhnou další vyhledávání.
  • –Vyhledávání O3 se provádějí za účelem maximalizace rychlosti. Bez ohledu na další prvky dotazu.

Linux
  1. Najděte soubory a adresáře v Linuxu pomocí příkazu find

  2. Jak auditovat oprávnění pomocí příkazu find

  3. Jak najít soubory pomocí příkazu fd v Linuxu

  1. Použití linuxového příkazu find – Použití s ​​příklady

  2. Jak najít duplicitní soubory v Linuxu? Nápověda je zde s příkazem fdupes!

  3. Jak najít všechny řídké soubory v Linuxu

  1. Jak najít soubory v Linuxu

  2. Jak používat příkaz spánku Linux s příklady

  3. Jak používat Linuxový příkaz find k hledání souborů