Često je potrebno tražiti određene vrste datoteka u Linux okruženjima, a ne znamo ispravan način za njihovo pravilno pretraživanje bez gubljenja vremena.
Za Linux distribucije razvijena je naredba pod nazivom find koja je razvijena za rekurzivno filtriranje objekata u datotečnom sustavu na temelju uvjetnog mehanizma. Pomoću ove naredbe find možemo tražiti datoteku ili direktorij u njezinom datotečnom sustavu.
Uključimo li -exec parametar, datoteke se mogu pronaći i odmah obraditi unutar iste naredbe.
1. Pronađite datoteke prema imenu ili proširenju Linux naredbama
Možemo koristiti find iz naredbenog retka za lociranje određene datoteke prema imenu ili proširenju.
Njegova sintaksa je:
find / home / username / -name "* .extension"Na primjer, tražit ćemo datoteke koje završavaju na .gz:
POVEĆAJTE
2. Zgodne naredbe i sintaksa za korištenje s naredbama za pronalaženje Linuxa
Pomoću naredbe find imamo neke opcije parametara kao što su:
pronaći opcije start / path izrazAtribut options kontrolirat će ponašanje i metodu optimizacije procesa pretraživanja. Atribut home / path definirat će direktorij na najvišoj razini u kojem će nalaz početi filtrirati.
Atribut izraza kontrolira testove koji pretražuju hijerarhiju direktorija kako bi proizveli izlaz.
Na primjer, možemo izvršiti sljedeće:
pronaći -O3 -L / var / www / -name "* .html"Ova naredba omogućuje maksimalnu razinu optimizacije (-O3) i omogućuje vam da slijedite simbolične veze (-L) za pretraživanje cijelog stabla direktorija na putu / var / www / za datoteke koje završavaju s .html.
POVEĆAJTE
3. Opcije i optimizacija pomoću naredbi Find Linux
Zadana konfiguracija Finda za pretraživanje zanemarit će simbolične veze (datoteke prečaca). Ako želimo pronaći i slijediti simbolične veze, možemo dodati -L opciju naredbi kao što smo vidjeli ranije. Find ima tri (3) razine optimizacije koje su -O1, -O2 i -O3.
Optimizacija -O1 zadana je vrijednost i prisiljava vas na pretraživanje radi filtriranja na temelju naziva datoteke prije izvođenja svih ostalih testova.
Optimizacija na razini -O2 daje prioritet filterima naziva datoteka, kao u -O1, a zatim izvodi filtriranje svih vrsta datoteka prije nego što nastavi s drugim uvjetima koji zahtijevaju više resursa. Optimizacija razine -O3 omogućuje pronalaženju dublje optimizacije i mijenja redoslijed svih testova na temelju njihove relativne potrošnje i vjerojatnosti boljih rezultata.
Neke od opcija su:
To je filter koji se temelji na prvom imenu datoteke
-O1 (zadano)
Prvo upotrijebite naziv datoteke, a zatim vrstu datoteke
-O2
Promijenite rezultateOmogućuje automatsko mijenjanje redoslijeda pretraživanja na temelju učinkovite uporabe resursa i vjerojatnosti boljih rezultata.
-O3
Pretražuje trenutni direktorij, kao i sve razine X poddirektorija
-maxdepth X
Pretražujte bez obzira na veličinu teksta
-ime
Vraća samo rezultate koji ne odgovaraju testnom slučaju
-ne
Potražite datoteku
-vrsta f
Pretražite direktorije
-tip d
4. Pronađite datoteke prema naredbama Linux s vremenskom izmjenom
Naredba find ima mogućnost filtriranja hijerarhije direktorija na temelju posljednje izmjene datoteke.
Sintaksa je:
find / -name "* conf" -mtime 8 find / home / user / -name "* conf" -mtime 2Prva naredba prikazat će popis svih datoteka u cijelom datotečnom sustavu koje završavaju znakovima conf i izmijenjene su u posljednjih 8 dana. Druga naredba filtrira kućni direktorij korisnika za datoteke s imenima koja završavaju znakovima conf i izmijenjena su u prethodna 2 dana.
Pomoću Grepa pronađite datoteke temeljene na sadržaju Linux naredbeNaredba find može filtrirati samo hijerarhiju direktorija na temelju naziva datoteke i metapodataka, pa ako trebate pretraživati na temelju sadržaja datoteke, upotrijebite alat poput grep.
Koristit ćemo sljedeću sintaksu:
pronaći. -type f -exec grep "example" '{}' \; -tisakTime se pronalaze svi objekti u trenutnoj hijerarhiji direktorija (.) Koja je datoteka (-type f), a zatim se pokreće naredba grep "primjer" za svaku datoteku koja ispunjava uvjete. Podudarne datoteke ispisuju se na ekranu (-print). Zagrade ({}) su rezervirano mjesto za rezultate rezultata pretraživanja. {} Je zatvoreno u navodnike (') kako bi se izbjeglo grep prikazivanje pogrešno oblikovanog naziva datoteke. Naredba -exec završava se točkom -zarezom "(;)", koja se mora izbjeći "(\;)" kako bi se izbjeglo tumačenje ljuske.
Kako pronaći i obraditi datoteke pomoću naredbe Find naredbe LinuxOpciju -exec možemo koristiti za pokretanje naredbi protiv svih objekata koji odgovaraju izrazu za pretraživanje.
Njegova sintaksa je:
pronaći. -name "rc.conf" -exec chmod o + r '{}' \;Ovo će filtrirati sve objekte u trenutnoj hijerarhiji (.) Za datoteke s imenom rc.conf i pokrenuti naredbu chmod ili + r za izmjenu dopuštenja rezultata pretraživanja.
Dakle, find je saveznik za potpuno pretraživanje datoteka na Linuxu.