Pronalaženje datoteka na Linux sistemu može biti teško ako ne znate kako. Najbolji način za pronalaženje datoteka na Linuxu je korištenje nekoliko terminalnih naredbi. Ovladavanje nekim od ovih naredbi može vam dati potpunu kontrolu nad datotekama, a korisnije su od jednostavnih funkcija pretraživanja drugih operativnih sistema.
Korak
Metoda 1 od 3: Korištenje "pronađi"
Korak 1. Potražite datoteke po imenu
Ova vrsta pretraživanja je najosnovnija, a to možete učiniti pomoću naredbe find. Komanda u nastavku će izvršiti pretraživanje na osnovu riječi unete u direktorij u kojem se nalazite, kao i poddirektorija unutar njega.
find -iname "naziv datoteke"
Ako umjesto -name koristite -iname, razlika između velikih i malih slova neće imati učinka. Naredba -name smatra velika i mala slova različitim znakovima
Korak 2. Podesite početak pretraživanja u osnovnom direktoriju
Ako želite pretraživati na cijelom sistemu, ključnoj riječi možete dodati / modifikator. Modifikator govori naredbi find da temeljito pretražuje, počevši od korijenskog direktorija.
find / -iname "naziv datoteke"
- Možete započeti pretraživanje u određenom direktoriju zamjenom /modifikatora stazom direktorija, na primjer /home /pat.
- Možeš koristiti. osim / tako da se pretraživanja izvode samo unutar direktorija u kojem se nalazite, a također i u poddirektorijima unutar njega.
Korak 3. Koristite zamjenske znakove
* za traženje svega što djelomično odgovara vašim ključnim riječima.
Zamjenski znak * može se koristiti za pronalaženje datoteka čija potpuna imena ne znate ili ako želite pronaći sve datoteke s određenom ekstenzijom.
find /home /pat -iname "*.conf"
- Gornja naredba će vratiti sve.conf datoteke u korisničkom direktoriju pod imenom Pat (kao i poddirektorije u njemu).
- Možete ga koristiti i za pronalaženje bilo čega čije ime djelomično odgovara toj ključnoj riječi. Na primjer, ako imate puno dokumenata vezanih za wikiHow, možete ih pronaći upisivanjem "*wiki*".
Korak 4. Olakšajte upravljanje rezultatima pretraživanja
Ako je rezultata pretraživanja previše, bit će vam teško pronaći željenu datoteku. Koristite znak | i poslati rezultate pretraživanja natrag u program za filtriranje "manje". Na taj način možete lakše listati i filtrirati rezultate pretraživanja.
find /home /pat -iname "*.conf" | manje
Korak 5. Pronađite rezultate pretraživanja s određenom vrstom
Pomoću modifikatora možete vratiti samo određene vrste rezultata. Možete pretraživati uobičajene datoteke (f), direktorije (d), simboličke veze (l), uređaje sa znakovima (c) i blokirati uređaje (b) pomoću odgovarajućih modifikatora.
find / -type f -iname "naziv datoteke"
Korak 6. Filtrirajte rezultate pretraživanja prema veličini
Ako imate puno datoteka sa sličnim imenima, ali znate veličinu datoteke koju želite, možete filtrirati pretraživanje prema veličini.
find / -size +50M -name "filename"
- Gornja naredba će vratiti rezultate pretraživanja od 50 megabajta ili više. Možete koristiti + ili - za traženje datoteka veće ili manje veličine. Izostavljanje znaka + ili - čini da pretraga vraća samo rezultate s istinski "ispravnom" veličinom.
- Pretraživanje možete filtrirati po bajtovima (c), kilobajtima (k), megabajtima (M), gigabajtima (G) ili 512 bajtova (b) blokova. Imajte na umu da oznake razlikuju velika i mala slova.
Korak 7. Pomoću logičkih operatora kombinirajte filtere pretraživanja
Operatore -and, -or i -not možete koristiti za kombiniranje različitih pretraživanja.
find /travelphotos -type f -size +200k -not -iname "*2015*"
Gornja naredba će tražiti datoteke u direktoriju "travelphotos" koje su veće od 200 kilobajta, ali nemaju riječ "2015" u svom imenu
Korak 8. Izvršite pretraživanje datoteke prema imenu vlasnika ili dozvoli
Ako pokušavate pronaći određenu datoteku koja pripada određenom korisniku ili tražite datoteku s određenim dozvolama, možete suziti pretraživanje.
find / -user pat -iname "filename" find / -grupni korisnici -iname "filename" find / -perm 777 -iname "filename"
Gore navedeni primjeri će izvršiti pretraživanje određenog korisnika, grupe ili dozvole unutar ključne riječi. Također možete izostaviti naziv datoteke da biste vratili sve datoteke koje odgovaraju toj vrsti. Na primjer, find / -perm 777 će vratiti sve datoteke sa dozvolama 777 (bez ograničenja)
Korak 9. Povežite naredbe za izvođenje radnje kada je datoteka pronađena
Naredbu find možete kombinirati s drugim naredbama tako da s tom naredbom možete obraditi datoteke vraćene ključnom riječi. Odvojite naredbu find i drugu naredbu sa -exec zastavicom, a zatim kraj reda s {};
pronaći. -tip f -perm 777 -exec chmod 755 {};
Gornja naredba će pretraživati direktorije u kojima se nalazite (i sve poddirektorije u njemu) za datoteke s dozvolama 777. Zatim će naredba chmod promijeniti dozvole u 755
Metoda 2 od 3: Korištenje "lociraj"
Korak 1. Instalirajte
locirati funkcionalnost. Naredba locate je općenito brža od naredbe find, zbog upotrebe baze podataka vašeg sistema datoteka. Nisu sve vrste Linuxa opremljene funkcijom lociranja, pa unesite sljedeću naredbu da biste je instalirali:
- Upišite sudo apt-get update, a zatim pritisnite Enter.
- Možete ga instalirati na Debian i ubuntu ovako: Upišite sudo apt-get install mlocate, a zatim pritisnite Enter. Ako je funkcija locate instalirana ranije, vidjet ćete da je poruka mlocate već najnovija verzija.
- Na Arch Linuxu koristite pacman paket menadžer: pacman -Syu mlocate
- Za Gentoo koristite emerge: emerge mlocate
Korak 2. Ažuriranje
locirati bazu podataka Ti. Naredba locate neće moći pronaći ništa dok se ne kreira i ažurira. Proces se obično izvodi automatski svaki dan, ali možete ga i ažurirati ručno. To morate učiniti ako želite koristiti funkciju lociranja što je prije moguće.
Upišite sudo updatedb, a zatim pritisnite Enter
Korak 3. Koristite
locirati za jednostavno pretraživanje.
Funkcija locate radi brzo, ali nema toliko opcija kao naredba find. Osnovna pretraživanja datoteka možete izvesti na sličan način kao naredba find.
lociraj -i "*.jpg"
- Gornja naredba će pretražiti cijeli sistem za datoteke sa nastavkom.jpg. Zamjenski znak * radi slično kao naredba find.
- Kao i naredba find, i -i modifikator također čini velika i mala slova u ključnim riječima istim.
Korak 4. Ograničite rezultate pretraživanja
Ako vaše pretraživanje vrati toliko rezultata da vam je teško koristiti ih, te rezultate možete smanjiti pomoću modifikatora -n, nakon čega slijedi broj rezultata koje želite vratiti.
lociraj -n 20 -i "*.jpg"
- Prikazat će se samo 20 rezultata pretraživanja.
- Također možete koristiti | za slanje rezultata pretraživanja u manje filtrirani program radi lakšeg listanja rezultata.
Metoda 3 od 3: Traženje teksta u datotekama
Korak 1. Koristite naredbu
grep da biste pronašli tekstualni niz u datoteci.
Ako tražite datoteku koja sadrži određeni izraz ili niz znakova, možete koristiti naredbu grep. Osnovna naredba grep ima sljedeći format:
grep -r -i "upit za pretraživanje"/putanja/do/direktorija/
- Modifikator -r čini pretraživanje "rekurzivnim", pa će se pretraživanje izvršiti unutar direktorija i svih poddirektorija unutar njega kako bi se pronašle datoteke koje sadrže tekst s ključnom riječi za pretraživanje.
- Modifikator -i označava da ključna riječ za pretraživanje ne pravi razliku između velikih i malih slova. Ako želite prisiliti pretraživanje da razlikuje velika i mala slova, zanemarite modifikator -i.
Korak 2. Uklonite višak teksta
Kada vršite grep pretragu kao što je gore, vidjet ćete naziv datoteke s istaknutim slovima. Možete sakriti odgovarajući tekst i prikazati samo ime direktorijuma i putanju dodavanjem:
grep -r -i "ključna riječ za pretraživanje"/put/do/direktorija/| cut -d: -f1
Korak 3. Sakrijte poruku o grešci
Naredba grep će vratiti grešku pri pokušaju pristupa direktoriju bez odgovarajućih dozvola ili pri ulasku u prazan direktorij. Poruke o grešci možete poslati na /dev /null kako se ne bi pojavile.
grep -r -i "ključna riječ za pretraživanje"/path/to/directory/2>/dev/null