Najpopularniji upravitelji datoteka za operativne sustave na Linux kernelu imaju prilično funkcionalan alat za pretraživanje. Međutim, parametri koji nisu uvijek prisutni u njemu dovoljni su korisniku da traži potrebne informacije. U ovom slučaju, spašava se standardni uslužni program koji prolazi kroz terminal . To vam omogućuje jednostavno pronalaženje potrebnih podataka u određenom direktoriju ili u cijelom sustavu unosom naredbe, argumenta i opcije.
Sadržaj
Naredba find je dizajnirana za traženje različitih objekata, uključujući datoteke svih formata i direktorija različitih dubina. Korisnik mora samo unijeti samu naredbu, odrediti željenu vrijednost i dodijeliti argumente za postavljanje parametara filtriranja. Provođenje postupka od strane samog uslužnog programa obično ne oduzima puno vremena, ali također ovisi o količini skeniranih informacija. Pogledajmo sada primjere korištenja pronaći u više detalja.
Za početak, želim se malo povući iz glavnog tima i dotaknuti temu dodatnih akcija koje će u budućnosti pomoći pri upravljanju iz konzole. Činjenica je da uslužni programi u Linux distribucijama nisu izoštreni pretraživanjem svih stavki na računalu. Sve procese treba pokrenuti samo s punim položajem elemenata ili na mjestu pomoću naredbe cd . To se može učiniti vrlo jednostavno:
cd /home/user/folder
napišite naredbu cd /home/user/folder
, gdje je korisnik ime korisničke mape i mapa je naziv traženog direktorija. Ako prije korištenja pronađite gore navedene upute, možete izostaviti punu putanju do datoteke, pod uvjetom da se nalazi na odabranoj lokaciji. Takvo rješenje značajno će ubrzati naredbe za unos podataka u budućnosti.
Kada pokrenete find
iz konzole koju ste upravo pokrenuli, rezultat pretraživanja bit će prikazan u vašem matičnom direktoriju aktivnog korisnika. U drugom slučaju, na primjer, kada aktivirate tijekom pretraživanja po lokaciji, u rezultatima ćete vidjeti sve podmape i datoteke ovog mjesta prisutne u njima.
Aktiviranje pronalaženja bez argumenata i opcija koristi se kada je potrebno pregledati sve stavke odjednom. Ako se njihovo ime u potpunosti ne uklapa u nizove, vrijedi mijenjati naredbu tako da pronađe traženi oblik find . -print
find . -print
.
Naredba za prikaz datoteka kroz zadanu putanju gotovo je ista kao i ona koju smo gore spomenuli. Trebali biste odrediti i find
, a zatim dodati ./folder
ako želite saznati više o direktoriju na trenutnoj lokaciji ili trebate navesti punu putanju upisivanjem, na primjer, find ./home/user/downloads/folder
, gdje je mapa krajnji imenik Svaki će element biti prikazan u zasebnim redovima redoslijedom njihove dubine.
Ponekad postoji potreba za prikazom samo objekata koji zadovoljavaju ime. Tada korisnik mora postaviti zasebnu opciju za naredbu, tako da razumije žalbu. Ulazni redak ima oblik: find .
-name "word", gdje je riječ ključna riječ za pretraživanje, koja mora biti napisana u dvostrukim navodnicima i osjetljivim na velika slova za svaki znak.
Ako ne znate točan slučaj svakog slova, ili želite prikazati sva odgovarajuća imena, bez uzimanja u obzir tog parametra, unesite find . -iname "word"
u konzolu find . -iname "word"
find . -iname "word"
.
Za filtriranje rezultata po ključnoj riječi, još jedan se dodaje argumentu -name . Naredba dobiva oblik find . -not -name "word"
find . -not -name "word"
, gdje je riječ riječ koju treba izbrisati.
Ipak, ponekad postoji potreba za pronalaženjem objekata jednim ključem, dok se drugi isključuju. Zatim se dodaju nekoliko opcija pretraživanja, a ulazna linija je sljedeća: find . -name "word" -not name "*.txt"
find . -name "word" -not name "*.txt"
. Napominjemo da drugi argument u navodnicima označava " * .txt" , što znači da pronalazi radove ne samo s imenima, već is formatima datoteka koji su navedeni u ovom obrascu.
Tu je i operater OR . To vam omogućuje da pronađete jedan ili više prikladnih argumenata odjednom. Svaki je naveden zasebno, s dodatkom odgovarajućih argumenata. Rezultat je nešto slično ovome: find -name "word" -o -name "word1"
.
Naredba find pomoći će korisniku čak i kada mora pronaći sadržaj direktorija samo na navedenoj dubini, na primjer, analiza nije potrebna unutar treće podmape. Da biste postavili ta ograničenja, unesite find . -maxdepth N -name "word"
find . -maxdepth N -name "word"
, gdje je N maksimalna dubina, i -ime "riječ" je bilo koji kasniji argument.
U mnogim direktorijima postoji nekoliko mapa s različitim sadržajima. Ako ih ima mnogo, a pretraživanje se mora obaviti samo u određenim, tada ćete to morati navesti pri unosu find ./folder ./folder1 -type f -name "word"
, gdje je ./folder ./folder1 popis prikladnih direktorija i -name "word" - preostali argumenti.
Bez odgovarajućeg argumenta, skriveni objekti u skeniranim direktorijima neće biti prikazani u konzoli. Stoga korisnik ručno unosi dodatnu opciju kako bi završio naredbom: find ~ -type f -name ".*"
. Dobit ćete potpuni popis svih datoteka, ali ako neke od njih nisu dostupne, upišite sudo
u redak prije nego što riječ pronađe kako biste aktivirali prava superkorisnika.
Svaki korisnik može kreirati neograničen broj direktorija i objekata na različitim lokacijama. Najbrži način da pronađete informacije koje pripadaju jednom od korisnika, koristeći naredbu pronađi i jedan od njegovih argumenata. Na popisu "Terminal" find . -user username
find . -user username
, gdje je korisničko ime korisničko ime. Nakon ulaska skeniranje će se automatski pokrenuti.
Otprilike ista shema funkcionira s korisničkim skupinama. Analiza datoteka povezanih s jednom od grupa find /var/www -group groupname
putem find /var/www -group groupname
. Ne zaboravite da postoji velik broj objekata, a ponekad je potrebno puno vremena da ih sve iznesete.
Operativni sustav automatski sprema datum promjene svake postojeće datoteke. Naredba find omogućuje vam da ih sve pronađete po navedenom parametru. Vi samo trebate registrirati sudo find / -mtime N
, gdje je N broj dana prije kada je objekt zadnji put izmijenjen. Prefiks sudo ovdje je potreban za dobivanje podataka o datotekama koje su namijenjene samo za superkorisnika.
Ako ste zainteresirani za gledanje stavki koje su zadnji put otvorene prije određenog broja dana, onda linija malo mijenja svoj izgled u sudo find / -atime N
Svaki objekt ima svoju veličinu, odnosno, naredba za pretraživanje datoteka mora imati funkciju koja vam omogućuje filtriranje po ovom parametru. find je u mogućnosti to učiniti, korisnik samo treba postaviti veličinu argumentom. Jednostavno unesite find / -size N
, gdje je N volumen u bajtovima, megabajtima (M) ili gigabajtima (G).
Možete odrediti raspon željenih stavki. Tada se kvalifikatori uklapaju u naredbu i dobivate, na primjer, sljedeći redak: find / -size +500M -size -1000M
. Ova analiza prikazivat će datoteke veće od 500 megabajta, ali manje od 1000.
Neke datoteke ili mape su prazne. Oni samo zauzimaju dodatni prostor na disku i ponekad ometaju normalnu interakciju s računalom. Treba ih pronaći kako bi odlučili o daljnjim akcijama, a find /folder -type f -empty
će pomoći u tome, gdje je mapa mjesto gdje se obavlja skeniranje.
U međuvremenu, želim ukratko spomenuti i druge korisne argumente koji s vremena na vrijeme postaju korisni za korisnika:
-mount
- ograničenje samo na trenutni datotečni sustav; -type f
- prikaz samo datoteka; -type d
- prikaz samo direktorija; -nogroup
, -nouser
- traži datoteke koje ne pripadaju nijednoj grupi ili ne pripadaju korisniku; -version
- saznajte verziju korištenog uslužnog programa. Na ovom poznavanju naredbe find je dovršena. Ako želite detaljno proučiti druge standardne alate konzole operacijskih sustava na Linux kernelu, savjetujemo vam da pogledate naš zasebni materijal na sljedećem linku.
Više detalja: Često korištene naredbe u Linux terminalu
Nakon traženja potrebnih informacija možete s njima obavljati bilo koje druge radnje, na primjer, uređivanje, brisanje ili proučavanje sadržaja. To će pomoći drugim ugrađenim programima "Terminal" . Primjeri njihove uporabe nalaze se u nastavku.