Pronalaženje datoteke u Linux sustavu može biti teško ako ne znate kako. Najbolji način za pronalaženje datoteka je korištenje nekoliko različitih naredbi terminala. Svladavanjem ovih naredbi možete dobiti potpunu kontrolu nad datotekama, a one su mnogo moćnije od jednostavnih funkcija pretraživanja na drugim operativnim sustavima.
Koraci
Metoda 1 od 3: Upotreba "lociraj"
Korak 1. Instalirajte
pronaći funkcionalnost.
Naredba locate općenito radi mnogo brže od find jer radi iz baze podataka vaše datoteke. Nemaju sve distribucije Linuxa 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 Linuxu upotrijebite upravitelj paketa pacman: pacman -S mlocate
- Za Gentoo upotrijebite emerge: emerge mlocate
Korak 2. Ažurirajte svoj
pronaći baza podataka.
Naredba locate neće moći ništa pronaći dok se ne izgradi i ažurira baza podataka. To se događa automatski svakodnevno, ali možete i ručno ažurirati. Morat ćete to učiniti ako želite odmah početi koristiti locate.
Upišite sudo updatedb i pritisnite ↵ Enter
Korak 3. Upotrijebite
pronaći za obavljanje jednostavnih pretraživanja.
Naredba locate je brza, ali nema toliko mogućnosti 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 sustavu datoteke s nastavkom.jpg. Zamjenski znak * funkcionira na isti način kao i naredba find.
- Poput naredbe find, -i zanemaruje slučaj vašeg upita.
Korak 4. Ograničite rezultate pretraživanja
Ako vaša pretraživanja daju previše rezultata za obradu, možete ih smanjiti pomoću opcije -n, a nakon toga slijedi broj rezultata koje želite prikazati.
lociraj -n 20 -i "*.jpg"
- Prikazat će se samo prvih 20 rezultata koji odgovaraju upitu.
- Također možete koristiti | pipe za slanje rezultata na manje radi lakšeg pomicanja.
Metoda 2 od 3: Upotreba "pronađi"
Korak 1. Potražite datoteku prema nazivu datoteke
Ovo je najosnovnije pretraživanje koje možete izvršiti pomoću naredbe find. Naredba u nastavku tražit će upit u trenutnom direktoriju i svim poddirektorijima.
find -name "naziv datoteke"
Korištenje -iname umjesto -name zanemaruje velika slova vašeg upita. Naredba -name razlikuje velika i mala slova
Korak 2. Postavite početak pretraživanja u korijenskom direktoriju
Ako želite pretraživati cijeli sustav, 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, poput /home /pat.
- Možete koristiti a. umjesto / da prisili pretragu samo na trenutni direktorij i poddirektorije.
Korak 3. Upotrijebite zamjenski znak
* tražiti sve š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đenim proširenjem.
find /home /pat -iname "*.conf"
- Ovo će vratiti sve.conf datoteke u Patovoj korisničkoj mapi (i poddirektorije).
- Također ga možete koristiti 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. Upotrijebite | znak i poslati rezultate pretraživanja u program za filtriranje "manje". To vam može omogućiti lakše pregledavanje 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), znakovne uređaje (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 sličnih naziva, ali znate veličinu koju tražite, možete filtrirati naše rezultate prema veličini.
find / -size +50M -name "naziv datoteke"
- 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 oznaka veličine razlikuje velika i mala slova.
Korak 7. Pomoću logičkih operatora kombinirajte filtre za pretraživanje
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 dopuštenjima
Ako pokušavate pronaći određenu datoteku u vlasništvu korisnika ili datoteke s određenim dopuštenjima, 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 dopuštenja za upit. Također možete izostaviti upit naziva datoteke da biste vratili sve datoteke koje odgovaraju toj vrsti. Na primjer, find / -perm 777 vratit će 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 s oznakom -exec, a zatim redak završite s {};
pronaći. -tip f -perm 777 -exec chmod 755 {};
Ovo će pretraživati trenutni direktorij (i sve poddirektorije) za datoteke koje imaju 777 dopuštenja. Zatim će koristiti naredbu chmod za promjenu dopuštenja u 755
Metoda 3 od 3: Traženje teksta u datotekama
Korak 1. Upotrijebite
grep naredba za traženje nizova teksta unutar datoteka.
Ako tražite datoteku koja sadrži određeni izraz ili niz znakova, možete koristiti naredbu grep. Osnovna naredba grep oblikovana je na sljedeći način:
grep -r -i "upit za pretraživanje"/put/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 natjerati pretraživanje da obrati pozornost na velika i mala slova, izostavite operator -i.
Korak 2. Izrežite dodatni tekst
Kada izvedete grep pretraživanje kao gore, vidjet ćete naziv datoteke zajedno s tekstom s istaknutim upitom. Možete sakriti odgovarajući tekst i samo prikazati nazive datoteka i staze uključivanjem sljedećeg:
grep -r -i "upit za pretraživanje"/put/do/direktorija/| izrezati -d: -f1
Korak 3. Sakrij poruke o pogrešci
Naredba grep vratit će pogrešku kada pokuša pristupiti mapama bez ispravnih dopuštenja ili naleti na prazne mape. Poruke o pogreš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