Ako použiť príkaz find v Linuxe na vyhľadávanie súborov?

How Use Find Command Linux Search Files



Ak ste používateľom Linuxu, nemôžete sa spoliehať iba na GUI pri vykonávaní rôznych úloh, a preto je skutočne nevyhnutné dôkladné pochopenie príkazov terminálu. Všetky distribúcie založené na Linuxe spúšťajú príkazy na vykonávanie rôznych administratívnych úloh.

Napriek tomu, že terminál Linux je textové rozhranie, ktoré sa zdá byť zložité, v skutočnosti je veľmi flexibilné, ľahko sa používa a je to veľmi užitočný nástroj. Príkazy je možné ľahko kopírovať z online zdrojov a prilepiť do terminálu na vykonávanie rôznych operácií. Existuje veľa príkazov, ale tento príspevok sa zameria na príkaz find.







Príkaz find sa používa na vyhľadanie, filtrovanie alebo vyhľadávanie súborov a priečinkov vo vašom systéme podľa podmienok zadaných užívateľom a vykonanie niekoľkých operácií s nimi.



Poďme diskutovať o tom, ako podrobne použiť príkaz find, jeho syntax a rôzne operácie vykonávané týmto príkazom.



Syntax príkazu find v systéme Linux

Syntax príkazu find je zobrazená nižšie:





Nájsť [cesta] [možnosti] [výraz]

Príkazom find sa spájajú tri atribúty:

  • [cesta]: Definuje adresár, kde treba začať hľadať.
  • [možnosti]: Definuje kritériá filtrovania, napr. vyhľadávanie súboru/priečinka podľa názvu, povolenia, času alebo dátumu.
  • [výraz]: Definuje, aké akcie sa majú so súborom vykonať.

Všetky vyššie uvedené atribúty sú voliteľné, pretože ich možno použiť podľa požiadavky.



Na ukážku som vytvoril rôzne adresáre a niektoré textové súbory, pozri obrázok nižšie:

nájsť/1%20copy.png

Nájdenie súboru podľa mena

Na vyhľadanie súboru podľa názvu použite nasledujúci príkaz:

$Nájsť.-názovMyTextFile1.txt

nájsť/2%20copy.png

Bodka za nálezom vo vyššie uvedenom príkaze označuje aktuálny adresár.

Ak si nepamätáte presný názov súboru, vyhľadávanie je možné ďalej spresniť a rozlíšiť malé a veľké písmena pomocou -iname v mieste názvu:

$Nájsť.-volám samytextfile1.txt

nájsť/3%20copy.png

Nájdenie súboru podľa typu

Ak chcete nájsť súbor podľa jeho typu, použite voľbu -type s písmenami, ktoré sú známe aj ako deskriptory, ako napríklad f pre súbory, d pre adresáre, l pre symbolický odkaz a s pre sokety.

Na prehľadanie všetkých adresárov použite:

$Nájsť.-typd

nájsť/4%20copy.png

Na vyhľadanie súborov použite:

$Nájsť.-typf

c%20copy.png

Hľadanie súboru podľa prípony súboru

Na vyhľadanie súboru podľa vzoru, napr. Prípony súboru, napríklad zobrazenia všetkých súborov s príponou .txt, použite nasledujúci príkaz:

$Nájsť.-názov *.TXT

nájsť/5%20copy.png

Všetky súbory s príponou .txt sa zobrazia spolu s ich zodpovedajúcimi adresármi.

Nájdenie a odstránenie súboru

Na vyhľadanie a odstránenie súboru použite nasledujúci príkaz:

$Nájsť.-volám samytextfile1.txt-exec rm {};

nájsť/6%20copy.png

Vyššie uvedený príkaz najskôr prehľadá súbor a potom ho odstráni. Obrázok ukazuje, že súbor MyTextFile1 bol odstránený.

Ak chcete odstrániť všetky súbory s príponou .txt, môžete použiť pripojený príkaz:

$Nájsť.-názov *.TXT-vymazať

nájsť/7%20copy.png

Nájdenie súboru podľa veľkosti

Príkaz find môže tiež vyhľadávať v súbore podľa veľkosti. Jednoducho použite voľbu -size spolu s jej deskriptormi, ako napríklad b pre bloky 512 Kb, c pre bajty, k pre kilobajty, M a G pre megabajty a gigabajty:

$Nájsť.-typf-veľkosť -1024c

nájsť/8%20copy.png

Vyššie uvedený príkaz prehľadá všetky súbory s veľkosťou menšou ako 1024 bajtov. Vyhľadávanie je možné ďalej spresniť, napríklad ak chceme nájsť všetky súbory s veľkosťou menšou ako 1 Mb, použijeme nasledujúci príkaz:

$Nájsť.-typf-veľkosť1M

ab/a%20copy.png

Pre všetky súbory, ktoré sú väčšie ako 1 MB, použite nasledujúci príkaz:

$Nájsť.-typf-veľkosť+1 mil

ab/b%20copy.png

Rozsah veľkosti je možné definovať aj pomocou priloženého príkazu:

$Nájsť. -typf-veľkosť+1 mil-veľkosť10 mil

Hľadanie súborov podľa povolenia

Na vyhľadanie súboru podľa povolenia použijeme možnosť -perm, potom kód povolenia, ako je to znázornené nižšie:

$Nájsť.-perm 664

nájsť/10%20copy.png

Nájdite text v textových súboroch

Ak chcete nájsť text vo viacerých textových súboroch vo vašom systéme, použite nasledujúci príkaz:

$Nájsť.-typf-názov *.TXT-exec uchopenie'Ahoj'{};

nájsť/12%20copy.png

Príkaz hľadá slovo Hello v textových súboroch. Výstupom sú textové reťazce z textových súborov obsahujúcich Hello.

Nájdenie súboru podľa dátumu a času úpravy

K súboru sa dostanete po jeho poslednej úprave pomocou nižšie uvedeného príkazu:

$Nájsť.-typf-volám sa *.TXT-min+10

nájsť/13%20copy.png

Vyššie uvedený príkaz hľadá súbor, ktorý bol naposledy upravený pred štyrmi minútami, a m znamená úpravu.

$Nájsť. -typf-volám sa *.TXT--amin -10

nájsť/14%20copy.png

Vyššie uvedený príkaz hľadá súbor, ku ktorému bol naposledy prístup pred 4 minútami, a a amin znamená Prístup. Na prístup k súboru, ktorý bol upravený pred štyrmi dňami, použite -mtime +4 namiesto mmin +4.

Záver

Príkaz find v Linuxe je veľmi užitočný príkaz, ktorý vám umožňuje vyhľadávať v súbore alebo adresári podľa rôznych kritérií a dokonca vám umožňuje upravovať súbory z terminálu. V tejto príručke sme sledovali syntax príkazu find v systéme Linux a naučili sme sa používať príkaz find na vykonávanie rôznych funkcií.