Pronađite naziv datoteke. Naredba find i njezine opcije prikazane su u primjerima. Primjeri korištenja find

Ovo je zadana stranica dobrodošlice koja se koristi za testiranje ispravnog rada Apache2 poslužitelja nakon instalacije na Ubuntu sustavima. Temelji se na ekvivalentnoj stranici na Debianu, iz koje je izvedeno pakiranje Ubuntu Apache. Ako možete pročitati ovu stranicu, to znači da Apache HTTP poslužitelj instaliran na ovoj stranici ispravno radi. Trebao bi zamijeni ovu datoteku(koji se nalazi na /var/www/html/index.html) prije nego što nastavite raditi s vašim HTTP poslužiteljem.

Ako ste običan korisnik ove web stranice i ne znate o čemu se radi na ovoj stranici, to vjerojatno znači da je stranica trenutno nedostupna zbog održavanja. Ako se problem nastavi, obratite se administratoru stranice.

Pregled konfiguracije

Ubuntuova zadana konfiguracija Apache2 razlikuje se od uzvodne zadane konfiguracije i podijeljena je u nekoliko datoteka optimiziranih za interakciju s Ubuntu alatima. Konfiguracijski sustav je potpuno dokumentirano u /usr/share/doc/apache2/README.Debian.gz. Pogledajte ovo za potpunu dokumentaciju. Dokumentacija za web poslužitelj može se pronaći pristupom priručniku ako je paket apache2-doc instaliran na ovom poslužitelju.

Izgled konfiguracije za instalaciju Apache2 web poslužitelja na Ubuntu sustavima je sljedeći:

/etc/apache2/ |-- apache2.conf | `-- ports.conf |-- mods-enabled | |-- *.učitavanje | `-- *.conf |-- conf-omogućen | `-- *.conf |-- web stranice omogućene | `-- *.konf

  • apache2.conf je glavna konfiguracijska datoteka. Sastavlja dijelove tako što uključuje sve preostale konfiguracijske datoteke prilikom pokretanja web poslužitelja.
  • ports.conf je uvijek uključen iz glavne konfiguracijske datoteke. Koristi se za određivanje priključaka za slušanje dolaznih veza, a ova se datoteka može prilagoditi bilo kada.
  • Konfiguracijske datoteke u direktorijima mods-enabled/, conf-enabled/ i sites-enabled/ sadrže posebne konfiguracijske isječke koji upravljaju modulima, fragmentima globalne konfiguracije ili konfiguracijama virtualnog hosta.
  • Aktiviraju se simboličkim povezivanjem dostupnih konfiguracijskih datoteka iz odgovarajućih *-available/ parnjaka. Njima treba upravljati pomoću naših pomoćnika a2enmod, a2dismod, a2ensite, a2dissite i a2enconf, a2disconf. Za detaljne informacije pogledajte njihove odgovarajuće stranice priručnika.
  • Binarni se zove apache2. Zbog upotrebe varijabli okruženja, u zadanoj konfiguraciji, apache2 treba pokrenuti/zaustaviti s /etc/init.d/apache2 ili apache2ctl. Izravno pozivanje /usr/bin/apache2 neće raditi sa zadanom konfiguracijom.

Korijeni dokumenata

Prema zadanim postavkama, Ubuntu ne dopušta pristup putem web preglednika bilo koji osim onih koji se nalaze u direktorijima /var/www, public_html (kada je omogućen) i /usr/share (za web aplikacije). Ako vaša stranica koristi korijen web dokumenta koji se nalazi negdje drugdje (kao što je /srv), možda ćete morati dodati korijenski direktorij dokumenta u /etc/apache2/apache2.conf.

Zadani korijen Ubuntu dokumenta je /var/www/html. Možete napraviti vlastite virtualne hostove pod /var/www. Ovo se razlikuje od prethodnih izdanja koja pružaju bolju sigurnost odmah po otvaranju.

Prijava problema

Koristite alat ubuntu-bug za prijavu grešaka u paketu Apache2 s Ubuntuom. Međutim, provjerite prije nego prijavite novu pogrešku.

Molimo prijavite pogreške specifične za module (kao što su PHP i drugi) odgovarajućim paketima, a ne samom web poslužitelju.

Dok radite na bilo kojem operativnom sustavu, ponekad postoji potreba za korištenjem alata za brza pretraga ovu ili onu datoteku. Ovo je također relevantno za Linux, pa će o svemu biti riječi u nastavku moguće načine tražiti datoteke u ovom OS-u. Bit će predstavljeni kao alati upravitelj datoteka, i naredbe koje se koriste u "Terminal".

Ako trebate navesti mnoge parametre pretraživanja kako biste pronašli datoteku koja vam je potrebna, tada naredba pronaći nezamjenjiva. Prije razmatranja svih njegovih varijacija, vrijedi proći kroz sintaksu i opcije. Ima sljedeću sintaksu:

opcija pronađi put

Gdje staza- ovo je direktorij u kojem će se izvršiti pretraga. Postoje tri glavne opcije za određivanje staze:

  • / — pretraživanje u korijenskim i susjednim imenicima;
  • ~ — pretraživanje po matičnom imeniku;
  • ./ — pretraživanje u imeniku u kojem se korisnik trenutno nalazi.

Također možete navesti put izravno do samog direktorija u kojem se datoteka navodno nalazi.

Mogućnosti pronaći ima ih mnogo, a zahvaljujući njima možete izvršiti fleksibilne postavke pretraživanja postavljanjem potrebnih varijabli:

  • -Ime- provedite pretragu koristeći naziv elementa koji tražite kao osnovu;
  • -korisnik- traženje datoteka koje se odnose na određenog korisnika;
  • -skupina- traženje određene skupine korisnika;
  • -perm- prikazati datoteke s navedenim načinom pristupa;
  • - veličina n- pretraživanje na temelju veličine objekta;
  • -mvrijeme +n -n- traži datoteke koje su promijenjene više od ( +n) ili manje ( -n prije ) dana;
  • -tip- traženje datoteka određene vrste.

Također postoje mnoge vrste elemenata koje tražite. Evo njihovog popisa:

  • b- blok;
  • f- obični;
  • str- imenovana cijev;
  • d- katalog;
  • l- veza;
  • s- utičnica;
  • c- simbolično.

Nakon detaljne analize sintakse i opcija naredbe pronaći Možete prijeći izravno na ilustrativne primjere. Zbog obilja mogućnosti korištenja naredbe, primjeri neće biti navedeni za sve varijable, već samo za one koje se najčešće koriste.

Metoda 1: Pretraživanje po imenu (opcija -name)

Korisnici najčešće koriste opciju pretraživanja sustava -Ime, pa ćemo tu početi. Pogledajmo nekoliko primjera.

Pretraživanje po proširenju

Recimo da trebate pronaći datoteku u sustavu s ekstenzijom ".xlsx", koji se nalazi u imeniku "Dropbox". Da biste to učinili, morate koristiti sljedeću naredbu:

pronađite /home/user/Dropbox -name "*.xlsx" -print

Iz njegove sintakse možemo reći da se pretraga provodi u imeniku "Dropbox" ("/home/user/Dropbox"), a željeni objekt mora imati ekstenziju ".xlsx". Zvjezdica označava da će se pretraživanje izvršiti na svim datotekama ovog proširenja, ne uzimajući u obzir njihov naziv. "-print" označava da će se prikazati rezultati pretraživanja.

Traži po nazivu datoteke

Na primjer, želite pretraživati ​​u imeniku "/Dom" datoteka s imenom "grude", ali je njegovo proširenje nepoznato. U tom slučaju trebate učiniti sljedeće:

pronaći ~ -ime "lumpics*" -ispisati

Kao što vidite, simbol koji se ovdje koristi je «~» , što znači da će se pretraga odvijati u početnom imeniku. Nakon opcije "-Ime" naznačeno je ime tražene datoteke ( "grude*"). Zvjezdica na kraju znači da će se pretraga vršiti samo po imenu, bez uzimanja u obzir ekstenzije.

Pretraživanje po prvom slovu imena

Ako se sjećate samo prvog slova naziva datoteke, postoji posebna sintaksa naredbe koja će vam pomoći da je pronađete. Na primjer, želite pronaći datoteku koja počinje slovom od "g" prije "l", a ne znate u kojem se imeniku nalazi. Zatim morate pokrenuti sljedeću naredbu:

pronađi / -ime "*" -ispis

Sudeći po simbolu “/” koji dolazi odmah nakon glavne naredbe, pretraga će se provesti počevši od korijenskog direktorija, odnosno kroz cijeli sustav. Dalje, dio «*» znači da će tražena riječ započeti određenim slovom. U našem slučaju iz "g" prije "l".

Usput, ako znate ekstenziju datoteke, onda nakon simbola «*» možete ga odrediti. Na primjer, trebate pronaći istu datoteku, ali znate da ima nastavak ".odt". Tada možete koristiti ovu naredbu:

pronađi / -naziv "*.odt" -ispis

Metoda 2: Pretraživanje prema načinu pristupa (opcija -perm)

Ponekad morate pronaći objekt čije ime ne znate, ali znate koji način pristupa ima. Zatim morate koristiti opciju "-trajna".

Prilično je jednostavan za korištenje; samo trebate odrediti mjesto pretraživanja i način pristupa. Evo primjera takve naredbe:

pronaći ~ -perm 775 -ispisati

Odnosno, pretraga se provodi u početnom dijelu, a objekti koji se pretražuju imat će pristup 775 . Također možete napisati simbol “-” ispred ovog broja, tada će pronađeni objekti imati bitove dopuštenja od nule do navedene vrijednosti.

Metoda 3: Pretraživanje po korisniku ili grupi (opcije -korisnik i -grupa)

Svaki operativni sustav ima korisnike i grupe. Ako želite pronaći objekt koji pripada jednoj od ovih kategorija, možete koristiti opciju "-korisnik" ili "-skupina", odnosno.

Pronađite datoteku po korisničkom imenu

Na primjer, morate pronaći u imeniku "Dropbox" datoteka "svjetiljke", ali ne znate kako se zove, samo znate da pripada korisniku "korisnik". Zatim morate pokrenuti sljedeću naredbu:

pronađite /home/user/Dropbox -korisnik korisnik -ispis

U ovoj naredbi odredili ste traženi direktorij ( /home/user/Dropbox), naznačeno je da trebate potražiti datoteku koja pripada korisniku ( -korisnik), i naznačio kojem korisniku ova datoteka pripada ( korisnik).

Traženje datoteke prema nazivu grupe

Traženje datoteke koja pripada određenoj skupini jednako je jednostavno - samo trebate zamijeniti opciju "-korisnik" na opciju "-skupina" i navedite naziv ove grupe:

pronaći / -skupiti gosta -ispisati

Odnosno, naveli ste da želite pronaći datoteku u sustavu koja pripada grupi "gost". Pretraga će se odvijati u cijelom sustavu, što je označeno simbolom «/» .

Metoda 4: Traženje datoteke prema vrsti (opcija -type)

Pronalaženje elementa određene vrste u Linuxu prilično je jednostavno, samo trebate navesti odgovarajuću opciju ( -tip) i odredite vrstu. Na početku članka navedene su sve oznake tipa koje se mogu koristiti za pretraživanje.

Na primjer, želite pronaći sve blokirane datoteke u svom početnom direktoriju. U ovom slučaju vaša bi naredba izgledala ovako:

naći ~ -vrsta b -ispis

Sukladno tome, naznačili ste da tražite prema vrsti datoteke, što dokazuje opcija "-tip", a zatim odredio njegovu vrstu stavljanjem simbola blok datoteke - "b".

Na isti način možete prikazati sve imenike u željenom imeniku unosom simbola u naredbu "d":

pronađi /home/user -upišite d -print

Metoda 5: Pretraživanje datoteke prema veličini (opcija -veličina)

Ako je sve što znate o datoteci njezina veličina, onda čak i to može biti dovoljno da je pronađete. Na primjer, želite pronaći datoteku od 120 MB u određenom direktoriju, da biste to učinili, učinite sljedeće:

pronađi /home/user/Dropbox -veličina 120M -ispis

Kao što vidite, datoteka koja nam je potrebna je pronađena. Ali ako ne znate u kojem se direktoriju nalazi, možete pretražiti cijeli sustav navođenjem korijenskog direktorija na početku naredbe:

pronaći / -veličina 120M -ispis

Ako znate približnu veličinu datoteke, tada postoji posebna naredba za ovaj slučaj. Morate se registrirati "Terminal" ista stvar, samo stavite znak prije označavanja veličine datoteke «-» (ako trebate pronaći datoteke manje od navedene veličine) ili «+» (ako je veličina datoteke koju tražite veća od navedene veličine). Evo primjera takve naredbe:

pronađi /home/user/Dropbox +100M -print

Metoda 6: Pronađite datoteku prema datumu izmjene (opcija -mtime)

Postoje trenuci kada je najprikladnije tražiti datoteku prema datumu kada je izmijenjena. Na Linuxu se to radi pomoću opcije "-mtime". Prilično je jednostavan za korištenje, pogledajmo sve na primjeru.

Recimo u fasciklu "Slike" moramo pronaći objekte koji su bili podložni promjenama u zadnjih 15 dana. Evo što trebate upisati "Terminal":

pronađite /home/user/Images -mtime -15 -print

Kao što vidite, ova opcija prikazuje ne samo datoteke koje su se promijenile tijekom navedenog razdoblja, već i mape. Djeluje i u suprotnom smjeru - možete pronaći objekte koji su promijenjeni nakon navedenog datuma. Da biste to učinili, trebate unijeti znak prije digitalne vrijednosti «+» :

pronađi /home/user/Images -mtime +10 -print

GUI

Grafičko sučelje uvelike olakšava život početnicima koji su tek instalirali Linux distribucija. Ova metoda pretraživanje je vrlo slično onom u Windowsima, iako ne može pružiti sve pogodnosti koje nudi "Terminal". Ali prvo o svemu. Dakle, pogledajmo kako tražiti datoteke u Linuxu pomoću grafičkog sučelja sustava.

Metoda 1: Pretraživanje kroz izbornik sustava

Sada ćemo pogledati kako tražiti datoteke kroz izbornik Linux sustavi. Poduzete radnje izvršit će se u distribuciji Ubuntu 16.04 LTS, no upute su zajedničke za sve.

Ovaj članak je izvadak iz knjige " Linux&Unix - programiranje u Shellu", David Tansley.

Editirao sam malo u žurbi, ako primijetite greške u upisu, napišite u komentarima.

Često tijekom rada postoji potreba za traženjem datoteka s određenim karakteristikama, kao što su prava pristupa, veličina, vrsta itd. Naredba find univerzalni je alat za pretraživanje: omogućuje vam pretraživanje datoteka i direktorija, pregled svih direktorija u sustavu ili samo trenutnog direktorija.

Ovo poglavlje pokriva sljedeće teme koje se odnose na korištenje naredbe find:

pronaći opcije naredbe;

Primjeri korištenja raznih opcija naredbe find;

Primjeri korištenja naredbi xargs i find zajedno.

Mogućnosti naredbe find su opsežne, a popis ponuđenih opcija velik. Ovo poglavlje opisuje najvažnije od njih. Naredba find može čak pretraživati ​​diskove NFS (Mrežni datotečni sustav- mrežni datotečni sustav), naravno, ako imate odgovarajuće dozvole. U sličnih slučajeva naredba se obično izvršava u pozadina, jer pregledavanje stabla imenika oduzima puno vremena. Opći format naredbe find je:

pronaći ime_puta -opcije

Gdje ime_puta- ovo je direktorij iz kojeg možete započeti pretragu. Znak '.' koristi se za označavanje trenutnog direktorija, znak / je korijenski direktorij, a znak "~" je onaj pohranjen u varijabli. $HOME početni imenik trenutni korisnik.

2.1. pronaći opcije naredbe

Zadržimo se na opisu glavnih opcija naredbe find.

Ime Traži datoteke čiji nazivi odgovaraju zadanom uzorku

Ispis Zapisuje puna imena pronađenih datoteka u standardni izlaz

Traženje datoteka za koje je postavljen navedeni način pristupa

Obrezivanje Ovo se koristi za sprječavanje naredbe pronalaženja da izvede rekurzivno pretraživanje na već pronađenom putu; ako je navedena opcija -depth, opcija -prune se zanemaruje

Korisnik Traži datoteke u vlasništvu određenog korisnika

Grupa Traži datoteke koje pripadaju određenoj grupi

Mvrijeme -n +n Traži datoteke čiji je sadržaj izmijenjen manje od (-) ili više od (+) n prije dana; Također postoje opcije -atime i -ctime, koje vam omogućuju pretraživanje datoteka prema datumu zadnjeg čitanja i datumu zadnje promjene atributa datoteke

Nogroup Traži datoteke koje pripadaju nepostojećoj grupi za koju, drugim riječima, nema unosa u datoteci /etc/groups

Nouser Pronalazi datoteke u vlasništvu nepostojećeg korisnika, za koje, drugim riječima, nema unosa u datoteci /etc/passwd

Novije datoteka Tražite datoteke koje su stvorene kasnije od navedene datoteke

Vrsta Traži datoteke određene vrste, naime: b- posebna blok datoteka; d- katalog; S- datoteka posebnih simbola; str- imenovana cijev; l- simbolička veza; s- utičnica; f- obična datoteka

Veličina n Tražite datoteke čija je veličina n jedinice; Moguće su sljedeće mjerne jedinice: b- veličina bloka 512 bajta (zadana postavka); S- bajt; k- kilobajt (1024 bajta); w- riječ od dva bajta

Dubina Prilikom traženja datoteka, prvo se gleda sadržaj trenutnog direktorija, a tek onda se provjerava unos koji odgovara samom direktoriju

F tip Traži datoteke koje su u datotečnom sustavu određene vrste; Obično se relevantne informacije pohranjuju u datoteku /etc/fstab, koji sadrži podatke o datotečnim sustavima koji se koriste na lokalnom računalu

Montiraj Traži datoteke samo u trenutnom datotečnom sustavu; Ekvivalent ove opcije je opcija -xdev -exec Izvrši naredbu tumača ljuska za sve otkrivene datoteke; izvršene naredbe imaju naredbu format ( );

(obratite pažnju na razmak između znakova () i 😉

Ok Slično kao -exec, ali prikazuje upit prije izvršavanja naredbe

2.1.1. Opcija -Ime

Kod rada s naredbom find najčešće se koristi opcija -name. Nakon njega mora slijediti uzorak naziva datoteke u navodnicima.
Ako trebate pronaći sve datoteke s ekstenzijom . txt u svom matičnom direktoriju navedite simbol kao ime staze. Naziv početnog direktorija bit će ekstrahiran iz varijable $HOME.

$ pronađi ~ -naziv "*.txt" -ispis

Da biste pronašli sve datoteke s ekstenzijom .txt koji se nalazi u trenutnom direktoriju, koristite sljedeću naredbu:

$nađi. -naziv "*.txt" -ispis

Da biste pronašli sve datoteke u trenutnom direktoriju koje imaju barem jedno veliko slovo u nazivu, unesite sljedeću naredbu:

$nađi. -naziv "*" -ispis

Pronađite u katalogu /itd datoteke čija imena počinju znakovima " domaćin", dopušta naredba

$ find /etc -name "hoat*" -print

Pretražite početni direktorij za sve datoteke s ekstenzijom .txt kao i datoteke čiji nazivi počinju točkom, naredba proizvodi

$ pronaći ~ -name "*.txt" -print -o -name ".*" -print

Opcija -O je oznaka za logičku operaciju ILI. Ako se koristi, osim datoteka s uobičajenim nazivima, pronaći će se datoteke čiji nazivi počinju točkom.

Ako želite ispisati sve datoteke na sustavu koje nemaju ekstenziju, pokrenite naredbu ispod, ali budite oprezni jer može značajno usporiti sustav:

$ pronađi / -ime "*" -ispis

Sljedeće pokazuje kako pronaći sve datoteke čija imena počinju malim slovima, nakon čega slijede dva broja i nastavak .txt(Na primjer, akh37.xt):

$nađi. -ime » [a-x] [a-x] . txt" - ispis

2.1.2. Opcija -perm

Opcija -perm omogućuje vam pronalaženje datoteka s određenim načinom pristupa. Na primjer, za traženje datoteka s načinom pristupa 755 (svaki korisnik ih može vidjeti i izvršiti, ali samo vlasnik ima pravo pisanja) trebate koristiti sljedeću naredbu:

$nađi. -perm 755 -print

Ako umetnete crticu ispred vrijednosti načina rada, tražit će se datoteke za koje su postavljeni svi navedeni bitovi dopuštenja, a preostali bitovi će biti zanemareni. Na primjer, sljedeća naredba traži datoteke kojima drugi korisnici imaju puni pristup:

$nađi. -trajna -007 -tisak

Ako se ispred vrijednosti načina unese znak plus, pretražuju se datoteke za koje je postavljen barem jedan od navedenih bitova dopuštenja, a preostali bitovi se zanemaruju.

2.1.3. Opcija -orezati

Kada ne želite pretraživati ​​određeni direktorij, koristite opciju -prune. Ovo vam upućuje da prestanete tražiti na trenutnom nazivu putanje. Ako naziv staze ukazuje na direktorij, naredba find neće ići u njega. Ako je prisutna opcija -depth, opcija -prune se zanemaruje.

Sljedeća naredba pretražuje trenutni direktorij bez odlaska u poddirektorij /bin:

$nađi. -naziv "bin" -orezati -o -printati

2.1.4. Mogućnosti -korisnik i --nouser

Da biste pronašli datoteke u vlasništvu određenog korisnika, navedite opciju -korisnik u naredbi traženja, nakon koje slijedi korisničko ime. Na primjer, pretraživanje početnog direktorija za datoteke u vlasništvu korisnika dave, provodi se pomoću sljedeće naredbe:

$ pronađi ~ -korisnik dave -ispis

Pretražite katalog /itd datoteke u vlasništvu korisnika uucp, izvršava sljedeću naredbu:

$ pronaći /etc -uaer uucp -ispisati

Zahvaljujući opciji -nouser, moguće je pretraživati ​​datoteke koje pripadaju nepostojećim korisnicima. Prilikom korištenja vrši se pretraga datoteka čiji vlasnici nemaju unos u datoteci /etc/passwd. Nema potrebe za navođenjem određenog korisničkog imena; naredba find sama obavlja sav potreban posao. Da biste pronašli sve datoteke koje su u vlasništvu nepostojećih korisnika i nalaze se u direktoriju /Dom, unesite ovu naredbu:

$ pronađi /dom -nouaer -ispis

2.1.5. Opcije -group i -nogroup

Opcije -group i -nogroup slične su -user-nouser/apps svih datoteka u vlasništvu korisnika u grupi računi:

$ pronađi /arra -skupina accta -ispis

Sljedeća naredba pretražuje cijeli sustav u potrazi za datotekama koje pripadaju nepostojećim grupama:

$ pronađi / -nogrupa -ispis

2.1.6. Opcija -mtime

Opcija -mtime trebala bi se koristiti kada tražite datoteke kojima ste pristupili x prije dana. Ako je argument opcije opremljen znakom '-', bit će odabrane datoteke kojima neko vrijeme nije pristupano. x dana. Argument sa znakom ‘+’ dovodi do suprotnog rezultata – odabrane su datoteke kojima je pristupljeno tijekom posljednjeg x dana.

Sljedeća naredba omogućuje vam da pronađete sve datoteke koje nisu ažurirane u zadnjih pet dana:

$ pronađi / -mvrijeme -5 -ispis

Ispod je naredba koja pretražuje direktorij /var/adm datoteke koje su ažurirane u posljednja tri dana:

$ pronađi /var/adm -mtime +3 -print

2.1.7. - novija opcija

Ako trebate pronaći datoteke kojima se pristupalo u vremenu između ažuriranja dviju navedenih datoteka, upotrijebite opciju -novije. Opći format za njegovu primjenu je sljedeći:

Novije stara_datoteka! - noviji nova_datoteka

znak ' ! ' je logički operator negacije. To znači: pronaći datoteke koje su novije od stara_datoteka, ali stariji od nova_datoteka.

Recimo da imamo dvije datoteke koje su ažurirane u razmaku od nešto više od dva dana:

Rwxr-xr-x 1 root root 92 18. tra 11:18 age.awk
-rwxrwxr-x 1 root root 1054 20. tra 19:37 belts.awk

Da biste pronašli sve datoteke koje su ažurirane kasnije od dob.awk, ali ranije od remenje.awk, pokrenite sljedeću naredbu (upotreba opcije -exec opisana je u nastavku):

$nađi. -novo doba.wk ! -noviji pojasevi.awk -exec Je -1 () ;
-rwxrwxr-x 1 root root 62 18. tra 11:32 ./who.awk
-rwxrwxr-x 1 root root 49. tra 18 12:05 ./group.awk
-rw-r-r- 1 root root 201 Tra 20 19:30 ./grade2.txt
-rwxrwxr-x 1 root root 1054 20. tra 19:37 ./belts.awk

Ali što ako trebate pronaći datoteke stvorene, recimo, u posljednja dva sata, ali nemate datoteku stvorenu prije točno dva sata za usporedbu? Napravite takvu datoteku! Za to je namijenjena naredba touch -t koja kreira datoteku sa zadanom vremenskom oznakom u formatu MMDChhmm (mjesec-dan-sati-minute). Na primjer:

$ dodir -t 05042140 dstamp
$ls -1 dmarka
-rw-r-r- 1 dave admin 0 4. svibnja 21:40 dstamp

Rezultat će biti datoteka čiji je datum stvaranja 4. svibnja, vrijeme stvaranja -21:40 (pod pretpostavkom da Trenutno vrijeme- 23:40). Sada možete koristiti naredbu pronađi s opcijom -nower da pronađete sve datoteke koje su ažurirane unutar posljednja dva sata:

$nađi. -novi datamp -ispis

2.1.8. Opcija -tip

OS UNIX I Linux podrška Različite vrste datoteke. Pretraživanje datoteka pravi tip učinjeno pomoću naredbe, pronađi s opcijom -type. Na primjer, pronaći sve poddirektorije u direktoriju /itd koristite ovu naredbu:

$ pronađi /etc -tip d -ispis

Za popis svih datoteka, ali ne i direktorija, pokrenite sljedeću naredbu:

$nađi. ! -tip d -otisak

Ispod je naredba koja je dizajnirana za pronalaženje svih simboličkih veza u imeniku /itd.

$ pronađi /etc -tip 1 -ispis

2.1.9. Opcija -veličina

Tijekom procesa pretraživanja, veličina datoteke se određuje pomoću opcije -size N, Gdje N- veličina datoteke u blokovima od 512 bajtova. Mogući argumenti imaju sljedeća značenja: +N- traženje datoteka čija je veličina veća od navedene, -N- manje od navedenog, N- jednak zadanom. Ako argument dodatno specificira simbol S, tada se veličina smatra navedenom u bajtovima, a ne u blokovima, i ako je znak k- u kilobajtima. Za traženje datoteka čija veličina prelazi 1 MB koristite naredbu

$nađi. -aize -flOOOk -ispisati

Sljedeća naredba pretražuje direktorij /domna/apache datoteke čija je veličina točno 100 bajtova:

$ pronađi /home/apache -sixe 100s -print

Sljedeća naredba omogućuje vam pretraživanje datoteka većih od 10 blokova (5120 bajtova):

$nađi. -veličina +10 -tisak

2.1.10. Opcija Opcija -dub

Opcija -depth omogućuje organiziranje pretraživanja na takav način da se prvo provjeravaju sve datoteke trenutnog direktorija (i rekurzivno svih njegovih poddirektorija), a tek na kraju - unos samog direktorija. Ova se opcija naširoko koristi pri stvaranju popisa datoteka koje će se arhivirati na vrpci pomoću naredbe cpio ili tar, budući da se u ovom slučaju slika direktorija prvo zapisuje na vrpcu, a tek onda se postavljaju prava pristupa njoj. To korisniku omogućuje arhiviranje onih direktorija za koje nema dopuštenje za pisanje.
Sljedeća naredba ispisuje sve datoteke i poddirektorije trenutnog direktorija:

$nađi. -naziv "*" -ispis -o -naziv ".*" -ispis -dub

Evo kako bi mogli izgledati rezultati njenog rada:

./.Xdefaults ./.bash_logout ./.bash_profile ./.bashrc ./.bash_nistory ./file ./Dir/filel ./Dir/file2 ./Dir/file3 ./Dir/Subdir/file4 ./Dir/Subdir ./Dir

2.1.11. - opcija montiranja

Pretražuje datoteke samo na trenutnom datotečnom sustavu, isključujući druge montirane datotečni sustavi, daje opciju -mount za naredbu pronalaženja. Sljedeći primjer traži sve datoteke s ekstenzijom .xc u trenutnoj particiji diska:

$ pronaći / -naziv "*.XC" -montirati -ispisati

2.1.12. Traženje datoteka i njihovo arhiviranje pomoću naredbe cpio

Naredba cpio prvenstveno se koristi za pisanje datoteka na traku i čitanje s trake. Vrlo često se koristi u kombinaciji s naredbom find, primajući popis datoteka od nje putem cijevi.

Evo kako snimiti sadržaj imenika na vrpcu /itd, /Dom I /aplikacije:

$cd/
$ pronaći itd. početna aplikacija -dubina -ispis | cpio -ov > dev/rmtO

Opcija -O Naredba cpio specificira način za pisanje datoteka na traku. Opcija -v (opširno- verbalni način) je uputa naredbi cpio za izvješćivanje svake datoteke koja se obrađuje.

Imajte na umu da nazivi direktorija nemaju znak '/' na početku. Na ovaj način postavljaju se relativni nazivi putanja arhiviranih direktorija, koji će pri naknadnom čitanju datoteka iz arhive omogućiti njihovo ponovno stvaranje u bilo kojem dijelu operacijski sustav, a ne samo u korijenskom direktoriju.

2.1.13. Opcije -exec i -ok

Recimo da ste pronašli potrebne datoteke i želite izvršiti određene radnje u vezi s njima. U ovom slučaju trebat će vam opcija -exec (neki sustavi dopuštaju samo izvršavanje naredbi ls ili ls -1 s opcijom -exec). Mnogi korisnici koriste opciju -exec za pronalaženje starih datoteka za brisanje. Preporučujem pokretanje ls umjesto rm kako biste bili sigurni da će naredba find pronaći datoteke koje želite ukloniti.

Nakon opcije -exec navedite naredbu koja će se izvršiti, nakon čega slijede vitičaste zagrade, razmak, obrnuta kosa crta i na kraju točka-zarez. Pogledajmo primjer:

$nađi. -tip f -exec Xa -1 () ;
-rwxr-xr-x 10 root wheel 1222 4. siječnja 1993./sbin/C80
-rwxr-xr-x 10 root wheel 1222 4. siječnja 1993. ./sbin/Normalno
-rwxr-xr-x 10 root wheel 1222 4. siječnja 1993. ./sbin/Rewid

Ovo traži redovne datoteke, čiji se popis prikazuje na ekranu pomoću naredbe ls -1.

Za pronalaženje datoteka koje nisu ažurirane u direktoriju /logovi u zadnjih pet dana i uklonite ih, pokrenite sljedeću naredbu:

$ pronađi /log" -tip f -mtime +5 -exec rm () ;

Trebali biste biti oprezni pri premještanju ili brisanju datoteka. Koristite opciju -ok koja vam omogućuje izvršavanje naredbi mv i rm siguran način(prije obrade sljedeće datoteke, izdaje se zahtjev za potvrdu). U sljedećem primjeru naredba find pronalazi datoteke s ekstenzijom .log, a ako je datoteka stvorena prije više od pet dana, briše je, ali prvo traži potvrdu ove operacije:

$nađi. -name "*.LOG" -mtime +5 -ok rm () ;
< rm … ./nets.LOG >? na

Za brisanje datoteke, unesite na, i spriječiti ovu radnju - n.

2.1.14. Dodatni primjeri korištenja naredbe find

Pogledajmo još nekoliko primjera koji ilustriraju korištenje naredbe find. U nastavku je opisano kako pronaći sve datoteke u početnom direktoriju:

$ pronaći ~ -ispisati

Pronađite sve datoteke za koje je bit postavljen SUID, sljedeća naredba dopušta:

$nađi. -tip f -perm +4000 -tisk

Da biste dobili popis praznih datoteka, koristite ovu naredbu:

$ find / -type f -size 0 -exec Is -1 () ;

Jedan od mojih sustava svaki dan stvara dnevnik revizije sustava. Nazivu datoteke dnevnika dodaje se broj, što vam omogućuje da odmah odredite koja je datoteka stvorena kasnije, a koja ranije. Na primjer, verzije datoteka admin.log redom numerisani: admin.log.001, admin.log.002 itd. Ispod je naredba find koja uklanja sve datoteke admin.log stvoreno prije više od sedam dana:

$ find /logs -name ‘admin.log.1 -atima +7 exec rm () ;

2.2. xargs tim

Uz opciju -exec, naredba find prosljeđuje sve pronađene datoteke navedenoj naredbi, koje se obrađuju odjednom. Nažalost, na nekim je sustavima duljina naredbenog retka ograničena, pa prilikom obrade velikog broja datoteka možete dobiti poruku o pogrešci koja obično glasi: "Previše argumenata"(previše argumenata) ili "Argumenti su predugi"(prevelik popis argumenata). U ovoj situaciji u pomoć dolazi naredba xargs. Obrađuje datoteke primljene od naredbe find u komadima, a ne sve odjednom.

Razmotrimo primjer u kojem naredba find vraća popis svih datoteka prisutnih na sustavu, a naredba xargs pokreće naredbu file na njima, provjeravajući tip svake datoteke:

$ pronađi / -tip f -ispis I xarge.file
/etc/protocols: engleski tekst /etc/securetty: ASCII tekst

Dolje je primjer koji pokazuje traženje dump datoteka čija imena naredba echo stavlja u datoteku /tmp/core.log.

$ pronaći / -nazvati jezgru -ispisati | xarge echo > /tmp/core.log

U sljedećem primjeru, u imeniku /apps/audit traži sve datoteke kojima drugi korisnici imaju puni pristup. chmod naredba uklanja dopuštenje pisanja za njih:

$ pronađi /appe/audit -perm -7 -print | xarge chmod o-w

Naš popis zaokružuje primjer u kojem naredba grep traži datoteke koje sadrže riječ " uređaj«:

$ pronađi / -tip f -ispis | xarge grep "uređaj"

2.3. Zaključak

Naredba find izvrstan je alat za pretraživanje različitih datoteka pomoću širokog spektra kriterija. Zahvaljujući opciji -exec, kao i naredbi xargs, pronađene datoteke mogu se obraditi gotovo svakom sistemskom naredbom.

Ako često radite u naredbeni redak na računalu ili poslužitelju gdje uopće nema grafičke ljuske, prije ili kasnije ćete se suočiti sa zadatkom traženja datoteka. Srećom, Linux već ima ugrađenu naredbu koja vam omogućuje pronalaženje datoteke u sustavu.

Danas ćemo govoriti o korištenju naredbe find - vjerujte mi, vrijedi naučiti kako raditi s ovim moćnim i praktičnim alatom.

Kako koristiti naredbu find

Jednostavno rečeno, osnovna sintaksa za naredbu pronalaženja je sljedeća:

Pronađite /path parametre datoteke naziv

Hajdemo razumjeti mogućnosti tima

Potražite datoteku prema nazivu

Prvi parametar je put. Ako nemate pojma gdje bi se datoteka mogla sakriti, zamijenite put s / - to je dovoljno. Međutim, pretraživanje cijelog diska može biti dosta dugotrajno, a ako znate gdje bi se datoteka mogla nalaziti, navedite mapu iz koje ćete započeti pretraživanje (na primjer, ~ za pretraživanje u početnoj mapi korisnika).

Sada prijeđimo na parametre pretraživanja. Postoje dvije opcije za pretraživanje datoteke prema nazivu:

  • ime - traženje naziva datoteke osjetljivog na velika i mala slova
  • iname - pretraživanje naziva datoteke bez obzira na velika i mala slova

Morate imati na umu da je u Linuxu velika i mala slova u nazivu datoteke važna, a ako trebate pronaći, na primjer, datoteku Ubuntu.txt, tada sljedeća naredba neće dati nikakve rezultate:

Pronađite / -name ubuntu.txt

Ali možete koristiti naredbu iname i izvršiti pretraživanje bez obzira na velika i mala slova:

Pronađite / -iname ubuntu.txt

Traži po vrsti

Naredba find omogućuje vam da tražite više od datoteka. Evo koje vrste ručica podržavaju pretraživanje:

  • f - obična datoteka
  • d - imenik
  • l - simbolička veza
  • c - karakterni uređaj
  • b - blok uređaj

Na primjer, da pronađete sve direktorije unutar trenutnog korisničkog matičnog direktorija koji počinju s "config", pokrenite sljedeću naredbu:

Find ~ -type d -name config*

Ispis rezultata pretraživanja u datoteku

Prikladna funkcija ispisivanja rezultata naredbe u datoteku bit će iznimno korisna ako postoji mnogo rezultata pretraživanja ili postoji potreba da se s njima kasnije radi. Na primjer, kako biste spremili popis svih pronađenih konfiguracijske datoteke podnijeti conf_pretraživanje, pokrenite sljedeću naredbu:

Pronađite /etc -type f -name “*.conf” > conf_search

Pretražujte datoteke po veličini

Ovo je vrlo korisna opcija kada vam ponestaje prostora na disku i morate otkriti kamo je nestao. Na primjer, da biste pronašli datoteke veće od 1000 MB, pokrenite sljedeću naredbu:

Pronađite / -veličina +1000M

Mogu se koristiti sljedeće kratice veličine:

  • c - bajtovi
  • k - kilobajti
  • M - megabajti
  • G - gigabajti
  • b - blokovi od 512 bajtova

Ovo je samo nekoliko načina za korištenje moćne naredbe. Više načina možete pronaći u priručniku pokretanjem naredbe