Kako uporabiti ukaz find v Linuxu za iskanje datotek?

How Use Find Command Linux Search Files



Če ste uporabnik Linuxa, se ne morete zanašati le na grafični vmesnik za izvajanje različnih nalog, zato je dobro razumevanje terminalskih ukazov res nujno. Vse distribucije, ki temeljijo na Linuxu, izvajajo ukaze za izvajanje različnih upravnih nalog.

Čeprav je terminal Linux besedilni vmesnik, ki se zdi zapleten, je v resnici zelo prilagodljiv, enostaven za uporabo in precej uporabno orodje. Ukaze je mogoče enostavno kopirati iz spletnih virov in jih prilepiti v terminal za izvajanje različnih operacij. Ukazov je na tone, vendar bo ta objava osredotočena na ukaz find.







Ukaz find se uporablja za iskanje, filtriranje ali iskanje datotek in map v vašem sistemu v skladu s pogoji, ki jih določi uporabnik, in z njimi izvede več operacij.



Pogovorimo se, kako podrobno uporabiti ukaz find, njegovo skladnjo in različne operacije, ki jih ta ukaz izvaja.



Sintaksa ukaza Command v Linuxu

Sintaksa ukaza find je prikazana spodaj:





najti [pot] [opcije] [izraz]

Z ukazom find so povezani trije atributi:

  • [pot]: Določa imenik, kjer naj začne iskanje.
  • [možnosti]: Določa merila filtriranja npr. iskanje datoteke/mape po imenu, dovoljenju, času ali datumu.
  • [izraz]: Določa, katera dejanja je treba izvesti z datoteko.

Vsi zgornji atributi so neobvezni, saj jih je mogoče uporabiti v skladu z zahtevo.



Za predstavitev sem ustvaril različne imenike in nekaj besedilnih datotek, poglejte spodnjo sliko:

find/1%20copy.png

Iskanje datoteke po imenu

Če želite iskati datoteko po imenu, uporabite spodnji ukaz:

$najti.-imeMyTextFile1.txt

Najdi/2%20copy.png

Pika po najdbi v zgornjem ukazu označuje trenutni imenik.

Če se ne spomnite natančnega imena datoteke, lahko iskanje dodatno natančneje določite tako, da ni občutljivo na male in velike črke, tako da uporabite -iname namesto imena:

$najti.-imemytextfile1.txt

find/3%20copy.png

Iskanje datoteke po vrsti

Če želite poiskati datoteko po njeni vrsti, uporabite možnost -type s črkami, ki so znane tudi kot deskriptorji, na primer f za datoteke, d za imenike, l za simbolično povezavo in s za vtičnice.

Za iskanje po vseh imenikih uporabite:

$najti.-tipd

find/4%20copy.png

Za iskanje datotek uporabite:

$najti.-tipf

c%20copy.png

Iskanje datoteke s pripono datoteke

Če želite iskati datoteko po vzorcu, na primer razširitvi datoteke, na primer prikazati vse datoteke z .txt, uporabite naslednji ukaz:

$najti.-ime *.txt

Najdi/5%20copy.png

Vse datoteke z .txt bodo prikazane skupaj z ustreznimi imeniki.

Iskanje in brisanje datoteke

Za iskanje in brisanje datoteke uporabite spodnji ukaz:

$najti.-imemytextfile1.txt-exec rm {};

find/6%20copy.png

Zgornji ukaz najprej poišče datoteko in jo nato izbriše. Slika prikazuje, da je bil MyTextFile1 izbrisan.

Če želite izbrisati vse datoteke s pripono .txt, uporabite priloženi ukaz:

$najti.-ime *.txt-izbrisati

Najdi/7%20copy.png

Iskanje datoteke po velikosti

Ukaz find lahko išče datoteko tudi po velikosti. Preprosto uporabite možnost -size skupaj z njenimi deskriptorji, kot je b za bloke 512 Kb, c za bajte, k za kilobajte, M in G za megabajte oziroma gigabajte:

$najti.-tipf-velikost -1024c

Najdi/8%20copy.png

Zgoraj omenjeni ukaz išče vse datoteke velikosti manj kot 1024 bajtov. Iskanje lahko dodatno izboljšamo, na primer, če želimo najti vse datoteke, ki so manjše od 1 MB, potem uporabimo spodnji ukaz:

$najti.-tipf-velikost1 milijon

ab/a%20copy.png

Za vse datoteke, ki so večje od 1 MB, uporabite spodnji ukaz:

$najti.-tipf-velikost+1 milijon

ab/b%20copy.png

Z dodanim ukazom lahko določite tudi obseg velikosti:

$najti. -tipf-velikost+1 milijon-velikost10 milijonov

Iskanje datotek po dovoljenju

Za iskanje datoteke po dovoljenju bomo uporabili možnost -perm, nato kodo dovoljenja, kot je prikazano spodaj:

$najti.-trajna 664

find/10%20copy.png

Poiščite besedilo v besedilnih datotekah

Če želite poiskati besedilo v več besedilnih datotekah v sistemu, uporabite spodnji ukaz:

$najti.-tipf-ime *.txt-exec oprijem'Zdravo'{};

find/12%20copy.png

Ukaz išče besedo Hello v besedilnih datotekah. Izhod so besedilni nizi iz besedilnih datotek, ki vsebujejo Hello.

Iskanje datoteke po datumu in času spremembe

Za dostop do datoteke po zadnji spremembi uporabite spodnji ukaz:

$najti.-tipf-ime *.txt-min+10

find/13%20copy.png

Zgornji ukaz išče datoteko, nazadnje spremenjeno pred štirimi minutami, m pa pomeni spremembo.

$najti. -tipf-ime *.txt-amin -10

Najdi/14%20copy.png

Zgornji ukaz išče datoteko, ki je bila nazadnje dostopna pred 4 minutami, a in amin pa pomeni dostop. Za dostop do datoteke, ki je bila spremenjena pred štirimi dnevi, uporabite -mtime +4 namesto mmin +4.

Zaključek

Ukaz find v Linuxu je zelo uporaben ukaz, ki omogoča iskanje po datoteki ali imeniku po različnih merilih in celo spreminjanje datotek iz terminala. V tem priročniku smo opazovali skladnjo ukaza find v Linuxu in se naučili uporabljati ukaz find za izvajanje različnih funkcij.