Linux FIND naredba s primjerima

Znate li koliko datoteka ima u novoj instalaciji Linuxa(Linux) ? Ako koristite PopOS! Linux distribucija(Linux distribution) kao primjer, postoji preko 31.000 datoteka. To je prije nego počnete stvarati bilo kakve dokumente, pohranjivati ​​glazbu, preuzimati PDF(PDFs) -ove ili organizirati slike.

Zbog toga, pronalaženje prave datoteke ili mape u Linuxu(Linux) kada vam zatreba postaje izazov. U ovom ćete članku naučiti kako koristiti Linux(Linux FIND) naredbu FIND, a mi ćemo vam dati sve primjere koje možemo.

Sintaksa naredbe Linux FIND(Linux FIND Command Syntax)

Sintaksa se odnosi na to kako se riječi ili naredbe sastavljaju zajedno. Baš(Just) kao što normalna rečenica može postati besmislica samo miješanjem riječi, naredbe mogu propasti ako se ne koriste u ispravnoj sintaksi.

pronađi [put] [uvjeti] [radnje](find [path] [conditions] [actions])

Evo što to znači:

find – pokreće pomoćni program Find u Linuxu(Linux)

put(path ) – gdje tražiti

uvjeti(conditions ) – argumenti koje želite primijeniti na pretragu

akcije(actions ) – što želite učiniti s rezultatima

Jednostavan primjer koji koristi sva tri izgleda ovako:

pronaći . -naziv datoteke-uzorak.rtf -ispis(find . -name file-sample.rtf -print)

Kao što ste pogodili, ovo će pronaći naziv datoteke file-sample.rtf(file-sample.rtf)

Putanja s točkom ( . ) poručuje pronađi da traži trenutni direktorij i sve direktorije unutar njega. 

Uvjet -name govori find da dobije datoteku s tim određenim imenom.

Radnja -print govori FIND da prikaže rezultate na zaslonu.

Točka i -print su zadane postavke za naredbu find. Dakle, i dalje će raditi istu stvar ako ih ne koristite. Dakle, find -name file-sample.rtf će vam dati iste rezultate.

Linux PRONAĐI U drugom imeniku(Linux FIND In Another Directory)

Možete pretraživati ​​u direktoriju različitom od onog u kojem se nalazite. Samo(Just) umetnite put do direktorija nakon FIND . Ako ste u korijenu i znate da je datoteka negdje u home/user direktoriju, upotrijebili biste:

find home/user -name file-sample.rtf

To je još uvijek rekurzivno pretraživanje, tako da će proći kroz svaki direktorij pod user .

Linux FIND Traži više imenika(Linux FIND Search Multiple Directories)

Ako želite tražiti u nekoliko direktorija odjednom, samo ih navedite u naredbi, odvojene razmakom.

find /lib /var /bin -name file-sample.rtf

Linux FIND bez rekurzije ili ograničenja rekurzije(Linux FIND with No Recursion or Limiting Recursion)

Ako ste koristili gornju naredbu FIND na korijenskoj razini, ona bi pregledavala svaki direktorij na sustavu. Dakle, ako se želite držati samo trenutnog direktorija, upotrijebite opciju -maxdepth . Broj nakon -maxdepth govori Nađi koliko duboko treba ići prije zaustavljanja. 

Korištenje -maxdepth 1 znači samo ovaj direktorij. 

find -name file-sample.rtf -maxdepth 1

Korištenje -maxdepth 2 ili većeg broja znači ići toliko razina dublje.

find -maxdepth 5 -name file-sample.rtf

Primjer zamjenskog znaka za Linux FIND(Linux FIND Wildcard Example)

Naredba FIND koristi zvjezdicu ( * ) kao zamjenski znak. Koristite ga za bilo koji dio imena za koji niste sigurni. Može se koristiti više puta u nazivu. Bez vrste datoteke kao dijela naziva datoteke, rezultati će također uključivati ​​direktorije koji se podudaraju.

find home/user -name file*sample*

Linux PRONAĐI po tipu Primjer(Linux FIND by Type Example)

Da biste tražili samo datoteku ili direktorij, koristite opciju -type i odgovarajući deskriptor. Ima ih nekoliko, ali najčešći su oni datoteka i direktorija:

f – datoteka

d – imenik

b – blok uređaj

c – karakterni uređaj

l – simbolička poveznica

s – utičnica

find home/user -name file*sample* -type d

Linux FIND Primjer bez obzira na velika i mala slova(Linux FIND Case Insensitive Example)

Za razliku od Windowsa(Windows) , Linuxu(Linux) je stalo do toga je li slovo veliko ili malo. Dakle, ako želite da traži i File-Sample.rtf i file-sample.rtf, upotrijebite opciju -iname .

find home/user -iname File-Sample.rtf

Primjer Linux FIND Nekoliko datoteka(Linux FIND Several Files Example)

Recimo da ste htjeli pronaći .rtf i .html verzije datoteke. To se može učiniti jednom naredbom pomoću -o (ili) operatora. U nekim distribucijama, možda ćete morati staviti imena unutar zagrada, poput ( -name file-sample.rtf -o -name file-sample.html)

find home/user -name file-sample.rtf -o -name file-sample.html

Linux PRONAĐITE datoteke koje ne odgovaraju nazivu(Linux FIND Files That Don’t Match a Name)

Možda znate da postoji .html verzija datoteke, ali ne ako postoje i druge. Možete filtrirati .html verziju iz pretraživanja pomoću opcije -not .

find home/user -name file-sample* -not -name *.html

Linux FIND bez rezultata greške(Linux FIND Without Error Results)

U primjeru pronalaženja bez rekurzije primijetite da je naveden svaki direktorij u kojem nije mogao pretraživati ​​i točan rezultat. To je neugodno. Zaustavimo ga da prikazuje sve one direktorije “ Permission denied”. Kombinirajte ga s drugom naredbom Linux terminala(Linux terminal command) , grep. Također možete koristiti Find s grep za pronalaženje datoteka s određenim riječima u njima(find files with specific words in them) .

find -maxdepth 5 -name file-sample.rtf 2>&1 | grep -v “Permission denied”

Rastavimo 2>&1 .

2 – predstavlja stderr što je skraćenica za standardne izlazne pogreške. 

1 – predstavlja stdout što je skraćenica za standardni izlaz

> – znači preusmjeriti bilo koji izlaz lijevo od njega na ono što je desno od njega.

& – znači sastaviti.

Dakle 2>&1 znači uzeti standardne pogreške i preusmjeriti ih, a zatim ih staviti zajedno sa standardnim izlazom u jedan izlaz.

Pogledajmo sada | grep -v “Permission denied” .

| (naziva se cijev) – govori Linuxu(Linux) da rezultate onoga što je lijevo od njega unosi onome što mu je desno. Prenosi se naredbi grep.

grep – je uslužni program za pretraživanje teksta. 

-v – govori grepu da traži sve što se ne podudara s tekstom lijevo od -v. U ovom slučaju, to govori grepu da pronađe samo sve što ne sadrži tekst ili niz, " Dopuštenje(Permission) odbijeno." Dakle, grep će vam pokazati samo rezultate koje tražite i sve pogreške koje ne odgovaraju " Permission denied."

Primjer Linux PRONAĐI po dopuštenjima(Linux FIND by Permissions Example)

Da biste ovo dobro koristili, morate naučiti dozvole za Linux(learn Linux permissions)

Sve datoteke primjera imaju dopuštenja 664, osim jedne s dopuštenjima 775. Koristite opciju -perm da biste je pronašli.

find Documents/ -name file-sample* -type f -perm 775

Primjer Linux PRONAĐI po veličini(Linux FIND by Size Example)

Pronalaženje datoteka po veličini je zgodno za dobivanje velikih datoteka koje ispunjavaju vaš tvrdi disk. Koristite opciju -size, željenu veličinu i jedan od sljedećih sufiksa. Ako se ne koristi sufiks, -size je zadana vrijednost b . Da biste pronašli datoteke jednake i veće od određene veličine, stavite znak plus (+) ispred veličine.

M – megabajti

G – gigabajti

k – kilobajti

b – blokovi (512 bajtova – zadano)

c – bajtovi

w – riječi (dva bajta zajedno)

find -size +500k

Linux FIND od vlasnika(Linux FIND by Owner)

Postoje dva načina za pronalaženje datoteka po vlasniku. Jedan je po korisničkom imenu vlasnika, a drugi po korisničkoj grupi. Za traženje po korisničkom imenu upotrijebite opciju -user , nakon čega slijedi korisničko ime. Za pronalaženje prema grupi korisnika upotrijebite -group nakon čega slijedi naziv grupe.

find -user groupname ili find -user username

Linux PRONAĐI datoteke prema posljednjem izmijenjenom primjeru(Linux FIND Files by Last Modified Example)

Da biste pronašli datoteke koje su izmijenjene ili uređene u zadnjih X dana, upotrijebite -mtime nakon čega slijedi broj. Stavljanjem znaka minus ( ) ispred broja pronaći ćete sve izmijenjeno unutar toliko dana prije sada. Znak plus ( + ) znači unutar toliko dana prije sada. 

find -name “file-sample*” -mtime +5 (greater than 5 days ago)

find -name “file-sample*” -mtime -5 (less than 5 days ago)

Za traženje po zadnjim izmjenama u minutama, koristite opciju -mmin nakon čega slijedi broj minuta. Koristite + i – kao gore.

find -name “file-sample*” -mmin -5

find -name “file-sample*” -mmin +5

Linux FIND Files prema primjeru vremena posljednjeg pristupa(Linux FIND Files by Last Accessed TIme Example)

Opcija koja se koristi za pronalaženje datoteka na temelju kada su zadnji put otvorene je -atime za dane i -amin za minute. Slijedite ga s brojem dana ili minuta za povratak i upotrijebite znak + i – kao veći od i manji od.

find -name “file-sample*” -atime -5

find -name “file-sample* -amin -5

Kombinirajte FIND s drugim Linux naredbama(Combine FIND with Other Linux Commands)

Gore je jedan primjer korištenja find s naredbom grep, a možete ga koristiti s mnogim drugim. Možete vidjeti da korištenje find i drugih naredbi može biti vrlo moćno i značajno uštedjeti vrijeme. Zamislite(Imagine) da morate izbrisati hrpu određene vrste datoteke. Umjesto da tražite okolo u File Exploreru, samo izradite pravu naredbu i to je gotovo za nekoliko sekundi. Kako ćete sada koristiti naredbu find?



About the author

"Ja sam slobodni stručnjak za Windows i Office. Imam više od 10 godina iskustva u radu s ovim alatima i mogu vam pomoći da iz njih izvučete maksimum. Moje vještine uključuju: rad s Microsoft Wordom, Excelom, PowerPointom i Outlookom; stvaranje weba stranice i aplikacije; i pomaganje korisnicima da ostvare svoje poslovne ciljeve."



Related posts