Pronalaženje datoteke u Linux sistemu može biti teško ako ne znate kako. Najbolji način za pronalaženje datoteka je korištenje nekoliko različitih naredbi terminala. Savladavanje ovih naredbi može vam dati potpunu kontrolu nad datotekama, a one su mnogo moćnije od jednostavnih funkcija pretraživanja na drugim operativnim sistemima.
Koraci
Metoda 1 od 3: Korištenje "lociraj"
Korak 1. Instalirajte
locirati funkcionalnost.
Naredba locate općenito radi mnogo brže od find, jer radi iz baze podataka vaše strukture datoteka. Nemaju sve Linux distribucije instaliranu funkciju lociranja, pa unesite sljedeće naredbe da biste je pokušali instalirati:
- Upišite sudo apt-get update i pritisnite ↵ Enter.
- Možete ga instalirati u Debian i Ubuntu ovako: Upišite sudo apt-get install mlocate i pritisnite ↵ Enter. Ako je lokalizacija već instalirana, vidjet ćete da je poruka mlocate već najnovija verzija.
- U Arch Linux -u koristite pacman menadžer paketa: pacman -S mlocate
- Za Gentoo koristite emerge: emerge mlocate
Korak 2. Ažurirajte svoj
locirati bazu podataka.
Naredba locate neće moći ništa pronaći dok se ne izgradi i ažurira baza podataka. To se događa svakodnevno automatski, ali možete i ručno ažurirati. Morat ćete to učiniti ako želite odmah početi koristiti funkciju locate.
Upišite sudo updatedb i pritisnite ↵ Enter
Korak 3. Koristite
locirati za obavljanje jednostavnih pretraživanja.
Naredba locate je brza, ali nema toliko opcija kao naredba find. Osnovno pretraživanje datoteka možete izvesti na isti način kao i naredba find.
lociraj -i "*.jpg"
- Ova naredba pretražit će u cijelom sistemu datoteke s nastavkom.jpg. Zamjenski znak * funkcionira na isti način kao i naredba find.
- Poput naredbe find, -i zanemaruje velika slova vašeg upita.
Korak 4. Ograničite rezultate pretraživanja
Ako vaša pretraživanja vraćaju previše rezultata za obradu, možete ih smanjiti pomoću opcije -n, nakon čega slijedi broj rezultata koje želite prikazati.
lociraj -n 20 -i "*.jpg"
- Prikazat će se samo prvih 20 rezultata koji odgovaraju upitu.
- Takođe možete koristiti | pipe za slanje rezultata na manje radi lakšeg pomicanja.
Metoda 2 od 3: Korištenje "pronađi"
Korak 1. Potražite datoteku prema nazivu datoteke
Ovo je najosnovnije pretraživanje koje možete izvršiti pomoću naredbe find. Komanda u nastavku će tražiti upit u trenutnom direktoriju i svim poddirektorijima.
find -iname "naziv datoteke"
Korištenje -iname umjesto -name zanemaruje velika slova vašeg upita. Naredba -name razlikuje velika i mala slova
Korak 2. Podesite početak pretraživanja u osnovnom direktoriju
Ako želite pretraživati cijeli sistem, upitu možete dodati / modifikator. Ovo će reći find za pretraživanje svih direktorija počevši od korijenskog direktorija.
find / -iname "naziv datoteke"
- Možete započeti pretraživanje u određenom direktoriju zamjenom /sa stazom direktorija, kao što je /home /pat.
- Možete koristiti a. umjesto / za prisiljavanje pretraživanja samo na trenutni direktorij i poddirektorije.
Korak 3. Koristite zamjenski znak
* za traženje bilo čega što odgovara dijelu upita.
Zamjenski znak * može biti koristan za pronalaženje nečega ako ne znate puno ime ili ako želite pronaći sve s određenom ekstenzijom.
find /home /pat -iname "*.conf"
- Ovo će vratiti sve.conf datoteke u Patovoj korisničkoj mapi (i poddirektorije).
- Možete ga koristiti i za pronalaženje svega što odgovara dijelu naziva datoteke. Na primjer, ako imate puno dokumenata vezanih za wikiHow, mogli biste ih sve pronaći upisivanjem "*wiki*".
Korak 4. Olakšajte upravljanje rezultatima pretraživanja
Ako dobivate mnogo rezultata pretraživanja, može ih biti teško pregledati. Koristite | znak i poslati rezultate pretraživanja u program za filtriranje "manje". To vam može omogućiti lakše listanje i filtriranje rezultata.
find /home /pat -iname "*.conf" | manje
Korak 5. Pronađite određene vrste rezultata
Modifikatore možete koristiti samo za vraćanje određenih vrsta rezultata. Pomoću desnog modifikatora možete pretraživati uobičajene datoteke (f), direktorije (d), simboličke veze (l), uređaje sa znakovima (c) i blokirati uređaje (b).
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 koju tražite, možete filtrirati naše rezultate prema veličini.
find / -size +50M -name "filename"
- Ovo će vratiti rezultate veličine 50 megabajta ili veće. Možete koristiti + ili - za traženje većih ili manjih veličina. Izostavljanje + ili - tražit će datoteke točno određene veličine.
- Možete filtrirati po bajtovima (c), kilobajtima (k), megabajtima (M), gigabajtima (G) ili 512-bajtnim blokovima (b). Imajte na umu da zastavica veličine razlikuje 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 vrsta pretraživanja u jedno.
find /travelphotos -type f -size +200k -not -iname "*2015*"
Naredba će pronaći datoteke u direktoriju "travelphotos" koje su veće od 200 kilobajta, ali nemaju "2015" nigdje u nazivu datoteke
Korak 8. Potražite datoteke prema vlasniku ili dozvolama
Ako pokušavate pronaći određenu datoteku u vlasništvu korisnika ili datoteke s određenim dozvolama, možete suziti pretraživanje.
find / -user pat -iname "filename" find / -grupni korisnici -iname "filename" find / -perm 777 -iname "filename"
Gornji primjeri će pretraživati navedene korisnike, grupe ili dozvole za upit. Također možete izostaviti upit naziva datoteke da biste vratili sve datoteke koje odgovaraju tom tipu. Na primjer, find / -perm 777 će vratiti sve datoteke s dozvolama 777 (bez ograničenja)
Korak 9. Kombinirajte naredbe za izvođenje radnji kada se pronađu datoteke
Naredbu find možete kombinirati s drugim naredbama tako da ih možete izvršiti na datotekama koje je vratio upit. Odvojite naredbu find i drugu naredbu sa -exec zastavicom, a zatim završite red s {};
pronaći. -tip f -perm 777 -exec chmod 755 {};
Ovo će pretraživati trenutni direktorij (i sve poddirektorije) za datoteke koje imaju 777 dozvola. Zatim će koristiti naredbu chmod za promjenu dozvola na 755
Metoda 3 od 3: Traženje teksta u datotekama
Korak 1. Koristite
grep naredba za traženje nizova teksta unutar datoteka.
Ako tražite datoteku koja sadrži određenu frazu ili niz znakova, možete koristiti naredbu grep. Osnovna grep naredba oblikovana je na sljedeći način:
grep -r -i "upit za pretraživanje"/putanja/do/direktorija/
- -R postavlja pretraživanje na "rekurzivno", pa će pretraživati trenutni direktorij i sve poddirektorije za bilo koju datoteku koja sadrži niz upita.
- -I označava da upit ne razlikuje velika i mala slova. Ako želite prisiliti pretraživanje da obrati pažnju na velika i mala slova, izostavite operator -i.
Korak 2. Izrežite dodatni tekst
Kada izvršite grep pretragu kao gore, vidjet ćete naziv datoteke zajedno s tekstom s istaknutim upitom. Možete sakriti odgovarajući tekst i samo prikazati nazive datoteka i putanje uključivanjem sljedećeg:
grep -r -i "upit za pretraživanje"/putanja/do/direktorija/| cut -d: -f1
Korak 3. Sakrijte poruke o grešci
Naredba grep će vratiti grešku kada pokuša pristupiti mapama bez ispravnih dozvola ili naleti na prazne mape. Poruke o grešci možete poslati na /dev /null, što će ih sakriti od izlaza.
grep -r -i "upit za pretraživanje"/path/to/directory/2>/dev/null