Kako koristiti naredbu find u Linuxu za pretraživanje datoteka?

How Use Find Command Linux Search Files



Ako ste korisnik Linuxa, ne možete se osloniti samo na GUI za izvršavanje različitih zadataka, stoga je dobro razumijevanje terminalnih naredbi zaista neophodno. Sve distribucije temeljene na Linuxu izvode naredbe za izvršavanje različitih administrativnih zadataka.

Iako je Linux terminal tekstualno sučelje koje djeluje složeno, zapravo je vrlo fleksibilno, jednostavno za korištenje i vrlo koristan alat. Naredbe se lako mogu kopirati iz mrežnih izvora i zalijepiti u terminal za obavljanje različitih operacija. Postoji mnogo naredbi, ali ovaj će se post fokusirati na naredbu find.







Naredba find koristi se za pronalaženje, filtriranje ili pretraživanje datoteka i mapa u vašem sustavu u skladu s uvjetima koje su odredili korisnici i izvršavanje nekoliko operacija nad njima.



Razmotrimo detaljno kako koristiti naredbu find, njezinu sintaksu i razne operacije koje ova naredba izvodi.



Sintaksa naredbe za pronalaženje u Linuxu

Sintaksa naredbe find prikazana je ispod:





pronaći [staza] [mogućnosti] [izraz]

Uz naredbu find idu tri atributa:

  • [put]: Definira direktorij u kojem počinje pretraživanje.
  • [opcije]: Definira kriterije filtriranja, npr. pretraživanje datoteke/mape prema nazivu, dopuštenju, vremenu ili datumu.
  • [izraz]: Definira koje radnje treba izvršiti s datotekom.

Svi gore navedeni atributi su izborni jer se mogu koristiti prema zahtjevu.



Za demonstraciju sam stvorio različite direktorije i neke tekstualne datoteke, pogledajte sliku ispod:

find/1%20copy.png

Traženje datoteke po imenu

Za pretraživanje datoteke prema nazivu upotrijebite donju naredbu:

$pronaći.-ImeMyTextFile1.txt

find/2%20copy.png

Točka nakon pronalaska u gornjoj naredbi označava trenutni direktorij.

Ako se ne sjećate točnog naziva datoteke, pretraživanje se može dodatno poboljšati i učiniti osjetljivim na velika i mala slova pomoću -iname na mjestu imena:

$pronaći.-imemytextfile1.txt

find/3%20copy.png

Traženje datoteke prema vrsti

Da biste pronašli datoteku prema njezinoj vrsti, upotrijebite opciju -type sa slovima koja su također poznata kao deskriptori, poput f za datoteke, d za direktorije, l za simboličku vezu i s za utičnice.

Za pretraživanje svih direktorija koristite:

$pronaći.-tipd

find/4%20copy.png

Za traženje datoteka upotrijebite:

$pronaći.-tipf

c%20copy.png

Pronalaženje datoteke pomoću nastavka datoteke

Za pretraživanje datoteke prema uzorku, npr. Proširenju datoteke, poput prikaza svih datoteka s .txt, upotrijebite sljedeću naredbu:

$pronaći.-Ime *.txt

find/5%20copy.png

Sve datoteke s .txt prikazat će se zajedno s odgovarajućim direktorijima.

Pronalaženje i brisanje datoteke

Za pretraživanje i brisanje datoteke upotrijebite naredbu u nastavku:

$pronaći.-imemytextfile1.txt-exec rm {};

find/6%20copy.png

Gornja naredba prvo pretražuje datoteku, a zatim je briše. Slika pokazuje da je MyTextFile1 izbrisan.

Za brisanje svih datoteka s nastavkom .txt možete upotrijebiti priloženu naredbu:

$pronaći.-Ime *.txt-izbrisati

find/7%20copy.png

Pronalaženje datoteke prema veličini

Naredba find također može pretraživati ​​datoteku po veličini. Jednostavno upotrijebite opciju -size zajedno s njezinim deskriptorima, poput b za blokove od 512 Kb, c za bajtove, k za kilobajte, M i G za megabajte i gigabajte:

$pronaći.-tipf-veličina -1024c

find/8%20copy.png

Gore spomenuta naredba pretražuje sve datoteke veličine manje od 1024 bajta. Pretraživanje se može dodatno poboljšati, na primjer, ako želimo pronaći sve datoteke manje od 1 MB, koristimo naredbu u nastavku:

$pronaći.-tipf-veličina1 mil

ab/a%20copy.png

Za sve datoteke veće od 1 MB upotrijebite naredbu u nastavku:

$pronaći.-tipf-veličina+1M

ab/b%20copy.png

Raspon veličina također se može definirati pomoću priložene naredbe:

$pronaći. -tipf-veličina+1M-veličina10M

Pronalaženje datoteka dopuštenjem

Za pretraživanje datoteke dopuštenjem koristit ćemo opciju -perm, zatim kôd dopuštenja, kao što je prikazano u nastavku:

$pronaći.-trajna 664

find/10%20copy.png

Pronađite tekst unutar tekstualnih datoteka

Da biste pronašli tekst u više tekstualnih datoteka u svom sustavu, upotrijebite donju naredbu:

$pronaći.-tipf-Ime *.txt-exec zahvat'Zdravo'{};

find/12%20copy.png

Naredba traži riječ Hello u tekstualnim datotekama. Izlaz su tekstualni nizovi iz tekstualnih datoteka koje sadrže Hello.

Pronalaženje datoteke prema datumu i vremenu izmjene

Za pristup datoteci prema zadnjoj izmjeni, upotrijebite naredbu u nastavku:

$pronaći.-tipf-ime *.txt-min+10

find/13%20copy.png

Gornja naredba traži datoteku posljednju izmjenu prije četiri minute, a m označava Modifikaciju.

$pronaći. -tipf-ime *.txt-amin -10

find/14%20copy.png

Gornja naredba traži datoteku kojoj je zadnji put pristupljeno prije 4 minute, a a in amin označava pristup. Za pristup datoteci koja je izmijenjena prije četiri dana, upotrijebite -mtime +4 umjesto mmin +4.

Zaključak

Naredba find u Linuxu vrlo je korisna naredba koja vam omogućuje pretraživanje datoteke ili imenika prema različitim kriterijima, pa čak vam omogućuje i izmjenu datoteka s terminala. U ovom smo vodiču promatrali sintaksu naredbe find u Linuxu i naučili kako koristiti naredbu find za izvršavanje različitih funkcija.