Jak použít příkaz find v Linuxu k vyhledávání souborů?

How Use Find Command Linux Search Files



Pokud jste uživatelem Linuxu, nemůžete se při provádění různých úkolů spoléhat pouze na GUI, proto je opravdu důležité důkladné pochopení příkazů terminálu. Všechny distribuce založené na Linuxu spouští příkazy k provádění různých administrativních úloh.

Přestože je terminál Linuxu textové rozhraní, které se zdá být složité, ve skutečnosti je velmi flexibilní, snadno použitelné a docela užitečným nástrojem. Příkazy lze snadno zkopírovat z online zdrojů a vložit do terminálu k provádění různých operací. Existuje mnoho příkazů, ale tento příspěvek se zaměří na příkaz find.







Příkaz find slouží k hledání, filtrování nebo vyhledávání souborů a složek ve vašem systému podle podmínek zadaných uživatelem a provádět s nimi několik operací.



Pojďme diskutovat o tom, jak podrobně použít příkaz find, jeho syntaxi a různé operace prováděné tímto příkazem.



Syntaxe příkazu find v Linuxu

Syntaxe příkazu find je zobrazena níže:





nalézt [cesta] [možnosti] [výraz]

Tři atributy jdou s příkazem find:

  • [cesta]: Definuje adresář, kde začít hledat.
  • [možnosti]: Definuje kritéria filtrování, např. vyhledávání souboru/složky podle názvu, oprávnění, času nebo data.
  • [výraz]: Definuje, jaké akce se souborem provést.

Všechny výše uvedené atributy jsou volitelné, protože je lze použít podle požadavku.



Pro ukázku jsem vytvořil různé adresáře a některé textové soubory, viz obrázek níže:

najít/1%20copy.png

Hledání souboru podle jména

Chcete-li soubor vyhledat podle názvu, použijte níže uvedený příkaz:

$nalézt.-názevMyTextFile1.txt

najít/2%20copy.png

Tečka po vyhledání ve výše uvedeném příkazu označuje aktuální adresář.

Pokud si nepamatujete přesný název souboru, hledání lze dále upřesnit a učinit jej nerozlišujícími malá a velká písmena pomocí -iname v místě názvu:

$nalézt.-jménomytextfile1.txt

najít/3%20copy.png

Hledání souboru podle typu

Chcete -li najít soubor podle jeho typu, použijte volbu -type s písmeny, která jsou také známá jako deskriptory, například f pro soubory, d pro adresáře, l pro symbolický odkaz a s pro sokety.

Pro vyhledání všech adresářů použijte:

$nalézt.-typd

najít/4%20copy.png

Chcete -li hledat soubory, použijte:

$nalézt.-typF

c%20copy.png

Hledání souboru podle přípony souboru

Chcete -li prohledávat soubor podle vzoru, např. Podle přípony souboru, například zobrazit všechny soubory s příponou .txt, použijte následující příkaz:

$nalézt.-název *.txt

najít/5%20copy.png

Zobrazí se všechny soubory s příponou .txt spolu s odpovídajícími adresáři.

Hledání a mazání souboru

Chcete -li soubor vyhledat a odstranit, použijte následující příkaz:

$nalézt.-jménomytextfile1.txt-exec rm {};

najít/6%20copy.png

Výše uvedený příkaz soubor nejprve prohledá a poté jej odstraní. Obrázek ukazuje, že MyTextFile1 byl odstraněn.

Chcete -li odstranit všechny soubory s příponou .txt, můžete použít připojený příkaz:

$nalézt.-název *.txt-vymazat

najít/7%20copy.png

Hledání souboru podle velikosti

Příkaz find může také prohledávat soubor podle velikosti. Jednoduše použijte volbu -size spolu s jejími deskriptory, jako je b pro bloky 512 Kb, c pro bajty, k pro kilobajty, M a G pro megabajty a gigabajty:

$nalézt.-typF-velikost -1024c

najít/8%20copy.png

Výše uvedený příkaz prohledá všechny soubory o velikosti menší než 1024 bajtů. Hledání lze dále upřesnit, například pokud chceme najít všechny soubory, které jsou menší než 1 Mb, použijeme následující příkaz:

$nalézt.-typF-velikost1 mil

ab/a%20copy.png

Pro všechny soubory větší než 1 MB použijte následující příkaz:

$nalézt.-typF-velikost+1 mil

ab/b%20copy.png

Rozsah velikosti lze také definovat pomocí připojeného příkazu:

$nalézt. -typF-velikost+1 mil-velikost10 mil

Hledání souborů podle oprávnění

Chcete -li prohledávat soubor podle oprávnění, použijeme volbu -perm, pak kód oprávnění, jak je ukázáno níže:

$nalézt.-perm 664

najít/10%20copy.png

Najděte text v textových souborech

Chcete -li najít text ve více textových souborech ve vašem systému, použijte následující příkaz:

$nalézt.-typF-název *.txt-exec rukojeť'Ahoj'{};

najít/12%20copy.png

Příkaz hledá slovo Hello v textových souborech. Výstupem jsou textové řetězce z textových souborů obsahujících Hello.

Hledání souboru podle data a času úpravy

K souboru se dostanete po jeho poslední úpravě pomocí následujícího příkazu:

$nalézt.-typF-jméno *.txt-mmin+10

najít/13%20copy.png

Výše uvedený příkaz hledá soubor naposledy upravený před čtyřmi minutami a m znamená Modifikace.

$nalézt. -typF-jméno *.txt-amin -10

najít/14%20copy.png

Výše uvedený příkaz hledá soubor, ke kterému byl naposledy přístup před 4 minutami, a a in amin znamená přístup. Pro přístup k souboru, který byl upraven před čtyřmi dny, použijte -mtime +4 místo mmin +4.

Závěr

Příkaz find v Linuxu je velmi užitečný příkaz, který vám umožňuje vyhledávat v souboru nebo adresáři podle různých kritérií, a dokonce vám umožňuje upravovat soubory z terminálu. V této příručce jsme sledovali syntaxi příkazu find v systému Linux a naučili jsme se používat příkaz find k provádění různých funkcí.