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:
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
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
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
Chcete -li hledat soubory, použijte:
$nalézt.-typF
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
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 {};
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
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
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
Pro všechny soubory větší než 1 MB použijte následující příkaz:
$nalézt.-typF-velikost+1 mil
Rozsah velikosti lze také definovat pomocí připojeného příkazu:
$nalézt. -typF-velikost+1 mil-velikost10 milHledá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
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'{};
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
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
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í.