Pretražujte u Linuxu sa find. Korištenje Find and Locate za pronalaženje datoteka na Linux serveru Linux pronađite datoteke koje ne sadrže

Pozdrav cijeloj habrskoj zajednici.
Ovo je moj prvi post, a nadam se ne i posljednji. Stoga su neizbježni svakakvi nedostaci, bugovi i neka vodenastost teksta, pa vas molim da ne sudite striktno :)
Da napišem ovaj post potaknula me tema "Konzola za početnike." , gdje je ISVir pokrenuo akutnu, po mom mišljenju, temu - kako reći pridošlicama o konzoli na pristupačnom jeziku, a da ih ne preplašiti imaginarnom super-složenošću.

Neću oduzimati paritet ISVir-u, samo ću vam reći o praktičnoj upotrebi nekoliko najosnovnijih uslužnih programa "za svaki dan", bez kojih mi je nemoguć rad u konzoli.

Dakle, šta imamo:

naći- traženje datoteka. omogućava vam da pretražujete datoteke, direktorije, simbolične veze i druge objekte datoteka. find Omogućava vam da navedete mnoge opcije pretraživanja kao što su:

  • traži po maski (po imenu)
  • kontrola dubine gniježđenja pretraživanja
  • tražiti određene tipove datoteka (direktorij, simbolične veze, utičnice)
  • pretraga po vremenu kreiranja / modifikacije fajla
  • možete postaviti veličinu (od i do u rasponu) datoteke
  • izvođenje radnji sa svakim pronađenim fajlom
u mana za find, možete pročitati o ostalim opcijama i parametrima.

Dakle, odmah - potražite sve datoteke u / etc / direktoriju koje su se promijenile u posljednja 24 sata:

$ find / etc / -type f -mtime -1

hajde da analiziramo šta smo napisali:

Prvi parametar je uvijek početni direktorij za pretragu.
opcija -tip sa parametrom f priča naći da trebate tražiti samo obične datoteke.
opcija -mtime sa parametrom -1 ukazuje naći da morate pronaći datoteke koje su se promijenile u posljednja 24 sata.
"-" front 1 postavlja gornju granicu opsega, tj. "Sve što se promijenilo u posljednja 24 sata"

Ako smo naznačili "+" front 1 , onda naći bi pronašao sve fajlove koji su se promijenili od 01.01.1970. do jučer (prije više od jednog dana)
također možete odrediti tačan datum unosom broja bez modifikatora.

Izvođenje radnji sa pronađenim fajlovima.
opcija -exec prihvata liniju sa naredbom koja će se izvršiti za svaki pronađeni fajl
parametar prosleđen naredbi je označen sa {}
red mora završiti sa "\;"

Razmotrimo primjer:
* pronađite u direktoriju /tmp sve datoteke koje su se promijenile u posljednjih mjesec dana i kopirajte ih u direktorij
/ tmp / backup /

$ find / tmp -type f -mtime -30 -exec cp () / tmp / backup \;

* izbrisati sve direktorije (rekurzivno) imenovane dnevnike koji su se promijenili u posljednjem danu u direktoriju
/ var / www
$ find / var / www -type d -mtime 0 -name logs -exec sudo rm -fr () \;

parametar d u opciji -tip označava pretragu samo imenika
opcija -ime specificira pretragu po imenu.
ovdje vrijedi dodati da nije optimalno brisati fajlove na ovaj način (polako).
find ima ugrađenu opciju -delete za brisanje, što je za red veličine brže.

Razmislite o korisnosti awk.
awk je programski jezik za obradu datoteka. Njegova svrha
razvoj - da bi se olakšalo formulisanje i rešavanje mnogih problema vezanih za obradu tekstualnih informacija. Zapravo, awk je uslužni program kojem se može pristupiti sa konzole.
Iz očiglednih razloga, ovdje neću razmatrati tehnike pisanja awk koda - reći ću vam samo o jednoj tehnici koja je važna za nas.

Prvo, awk može dobiti podatke sa STDIN-a: $ echo "test" | awk ...
drugo, awk je efikasan u pisanju jednolinija u konzoli, jer izvršava kod koji mu je dat kao parametar:


awk dijeli ulazni tok u polja i stavlja ta polja u varijable kao što su $1, $2, .. $N
podrazumevano, separator polja je razmak, ali sa opcijom -F "_separator_" ovo se može poništiti:
$ glava -4 / etc / passwd
root: x: 0: 0: root: / root: / bin / bash
daemon: x: 1: 1: daemon: / usr / sbin: / bin / sh
bin: x: 2: 2: bin: / bin: / bin / sh
sys: x: 3: 3: sys: / dev: / bin / sh

$ cat / etc / passwd | awk -F ":" "(ispis $1)"
root
daemon
bin

Na primjer, imamo nekoliko lokacija u / var / www direktoriju. za svaki sajt postoji direktorijum logova, u koji su upisani Apache logovi (za ovu lokaciju).A sada želimo da saznamo ukupan obim ovih logova, kao i sve logove veće od 100Mb.

1.potražite velike zapise:

$ find / var / www -type f -name "access.log *" -veličina + 100M
/var/www/site1/logs/access.log
/var/www/site2/logs/access.log.1.gz

2. Izračunajmo ukupnu zapreminu trupaca:

Pronađite / var / www / -type f -name "access.log *" -exec du -k () \; | awk "(s + = $ 1) END (print s)"
5071604


zato, ne boj se - odmah ću sve objasniti :)

Pronađi traži sve datoteke po maski (access.log *) i pokreni naredbu za svaku du.
komanda du ispisuje veličinu datoteke. opcija -k daje izlaz u kilobajtima.
zatim se pokreće procesor awk, jednostavno sabira prvo polje nizova (brojeva) u varijablu s i ispisuje vrijednost varijable na ekran.

Drugi primjer: pronađite u sistemu sve datoteke i direktorije koji pripadaju korisniku test1 i izračunajte ukupnu zapreminu.

#find / -user test1 -exec du -sm () \; | awk "(s + = $ 1) END (print s)"

one. ovdje sa opcijom -korisnik find traži datoteke koje pripadaju korisniku test1 i za svaki fajl / direktorij izračunajte njegovu veličinu (du naredba)
zatim awk prenosi ove podatke kroz cevovod i, kao što smo uradili gore, izračunava njihov zbir u Kb.

UREDU. Mislim da je to dovoljno za danas.
objava je izašla prilično velika, očigledno iz navike :)

Odmah želim da kažem - nisam za cilj imao samo da vam pričam o upotrebi find i awk, već da dam primere praktične primene u stvarnim situacijama.
ako vam se sviđa članak, nastavit ću pisati u ovom smjeru.

Hvala ti na tvom vremenu.

Linux ima vrlo moćnu i korisnu naredbu za pronalaženje datoteka - naredbu naći... Ima puno mogućnosti za traženje datoteka, međutim, ponekad stvara poteškoće početnicima uglavnom zbog svoje sintakse.

Jednostavan primjer korištenja naredbe find

Prvo, pogledajmo jednostavan primjer korištenja naredbe find za pronalaženje datoteka pod nazivom config na vašem računalu. Tražit ćemo konfiguracijske datoteke počevši od korijenskog direktorija /. Da biste to učinili, morate pokrenuti naredbu kao root da biste imali dovoljne dozvole, inače ćete dobiti poruke "Dozvola odbijena". Dakle, pokrenimo naredbu:

Pronađi / -name config -print

Komanda znači ovo: potražite datoteke pod nazivom config (-name config) počevši od / direktorija (prvi parametar naredbe find) i ispišite nazive datoteka na ekranu (-print argument). Imajte na umu da je pretraga rekurzivna, odnosno da se prilikom pretraživanja pretražuju svi ugniježđeni direktoriji. Kao što vidite, sve je jednostavno. Pogledajmo sada sintaksu naredbe i prijeđimo na pregled njenih glavnih argumenata.

Pronađite sintaksu komande

Opća sintaksa za naredbu find, koju možete pronaći u referentnom priručniku, može izgledati pomalo škakljivo, pa ću dati čitljiviju:

pronađi [put] [opcije] [kriterijumi pretraživanja] [radnje na fajlovima]

Way

Možete koristiti i apsolutne i relativne putanje kao putanju za pretragu, kao i listu putanja odvojenih razmakom.

Opcije

Opcije komande find su navedene počevši sa "-" nakon čega slijedi naziv opcije. Pogledajmo glavne opcije.

Kriterijumi pretrage

Naredba find može imati više kriterija pretraživanja (koji se nazivaju i testovi). Svaki kriterij predstavlja određeni uvjet testiranja koji vraća ili istinito ili netačno. Ovo se može uporediti sa uslovima if naredbe u programiranju. U procesu obrade sljedećeg fajla, naredba find provjerava svaki kriterij redom, a ako sljedeći kriterij vrati false, onda naredba find prelazi na sljedeći fajl. Komanda find ima dosta kriterijuma, razmotrićemo samo neke od njih.

-atime NDatoteci je posljednji put pristupano prije N dana.
-mtime NFajl je posljednji put izmijenjen prije N dana.
- obrazac imenaIme datoteke (uzorak naziva) bez putanje. Preporučuje se da uzorak uvijek stavljate pod navodnike.
-noviji other_fileFajl je izmijenjen kasnije od other_file.
-veličina [±] NVeličina datoteke je N blokova, ako je specificirano + N, tada je veličina datoteke veća od N, -N je manja. Znak iza N označava veličinu bloka. b - 512 bajtova, c - bajtova, w - 2 bajta, k - kilobajta, M - megabajta, G - gigabajta.
-tip CUnesite C fajl. Najčešće korištene vrijednosti za C su d za direktorij, f za datoteku.
-korisničko imeDatoteka je u vlasništvu korisnika pod imenom UserName.

Primjeri korištenja naredbe find pomoću kriterija

Pronađite obične datoteke (ne direktorije) u trenutnom direktoriju koji počinju znakom "~".

Nađi. -type f -name "~ *" -print

Pronađite datoteke u trenutnom direktoriju koje su izmijenjene kasnije od file.bak.

Nađi. -noviji fajl.bak -tip f -print

Operateri

Kriterijumi se mogu kombinovati pomoću operatora. Ispod su operatori u opadajućem redoslijedu prioriteta.

Općenito, kada se koriste operatori, kriteriji se provjeravaju prema prioritetu. Redoslijed možete promijeniti pomoću zagrada. Zagrade moraju biti označene obrnutom kosom crtom.

Primjeri korištenja naredbe find pomoću operatora

Pronađite datoteke u trenutnom direktoriju koje počinju s "~" ili c "temp" i koje su obične datoteke (-tip f), a ne direktorije.

Nađi. \ (- ime "~ *" -ili -ime "temp *" \) -tip f -print

Pronađite u trenutnom direktorijumu (bez obrađivanja poddirektorijuma - -maxdeph 1) obične datoteke (-fajl f) veće od 600 megabajta i manje od 1 gigabajta (-veličina) ili datoteke čije ime završava sa ".mpeg" (-name).

Nađi. -maxdepth 1 \ (\ (- veličina + 600M -i -veličina -1G \) -ili -name "* .mpeg" \) -i -type f

Radnje na fajlovima

Kada se izvrši naredba find, možete izvršiti različite radnje na pronađenim datotekama. Razmotrimo glavne.

U naredbama koje se izvršavaju, možete koristiti parametar () kao argument, koji se zamjenjuje putanjom do trenutne datoteke.

Primjeri korištenja naredbe find korištenjem akcija

Pronađite obične datoteke veće od 1000 bajtova u trenutnom direktoriju i pokrenite ls -dils na njima (ls akcija).

Nađi. -veličina + 1000c -tip f -ls

Pretražite trenutni direktorij za regularne datoteke koje počinju sa znakom tilde "~" i za svaku datoteku izdajte prompt da je izbrišete (izvršavanjem naredbe rm).

Nađi. -name "~ *" -type f -ok rm () \;

Zaključak

U ovom postu smo ispitali vrlo važnu i korisnu Linux naredbu find, koja pruža gotovo neograničene mogućnosti pretraživanja datoteka prema mnogim kriterijima i obrascima. A pomoću naredbi (akcija) možete pretraživati ​​datoteke i izvoditi sve operacije na njima.

    Pronađite datoteku po njenom imenu. Ovo najjednostavnije pretraživanje se vrši pomoću uslužnog programa find. Naredba u nastavku će tražiti datoteku u trenutnom direktoriju i svim njegovim poddirektorijumima.

    find -iname "ime datoteke"

    • Unesite -iname umjesto -name da zanemarite velika i mala slova u unesenom nazivu datoteke. Naredba -name je osjetljiva na velika i mala slova.
  1. Počnite tražiti u korijenskom direktoriju. Da biste pokrenuli pretragu širom sistema, dodajte modifikator / svom upitu. U ovom slučaju, naredba find će tražiti datoteku u svim direktorijima, počevši od korijena.

    pronađi / -iname "ime datoteke"

    • Možete započeti pretraživanje u određenom direktoriju; da biste to učinili, zamijenite / sa putanjom do direktorija, na primjer, / home / max.
    • Može biti korišteno. umjesto / za traženje datoteke samo u trenutnom direktoriju i njegovim poddirektorijumima.
  2. Koristite simbol generalizacije.* za pronalaženje datoteka čije ime odgovara dijelu zahtjeva. Možete koristiti zamjenski znak * da pronađete datoteku čije je puno ime nepoznato ili da pronađete sve datoteke sa određenim ekstenzijom.

    find / home / max -iname "* .conf"

    • Ova komanda će pronaći sve .conf datoteke u Max korisničkom folderu (i njegovim podfolderima).
    • Koristite ovu naredbu da pronađete sve datoteke koje odgovaraju dijelu upita. Na primjer, ako na svom računaru imate mnogo datoteka povezanih s WikiHow, pronađite sve datoteke upisivanjem "* wiki *".
  3. Olakšajte upravljanje rezultatima pretrage. Ako ima previše rezultata pretraživanja, teško je pronaći željeni fajl među njima. Koristite simbol | da filtrirate rezultate pretrage sa manje. Ovo će olakšati pregled i filtriranje rezultata pretrage.

    find / home / max -iname "* .conf" | manje

    Pronađite određene stavke. Koristite modifikatore da prikažete samo određene stavke u rezultatima pretrage. Možete tražiti obične datoteke (f), direktorije (d), simboličke veze (l), znakovne I/O uređaje (c) i blok uređaje (b).

    pronađi / -type f -iname "ime datoteke"

  4. Filtrirajte rezultate pretrage prema veličini datoteke. Ako na računaru imate mnogo datoteka sa sličnim nazivima, ali znate veličinu datoteke koju tražite, filtrirajte rezultate pretrage prema veličini datoteke.

    find / -size + 50M -iname "ime datoteke"

    • Ova komanda će pronaći sve datoteke veće od 50 MB. Koristite modifikator + ili - da označite povećanje ili smanjenje veličine. Ako nema modifikatora + ili -, komanda će pronaći datoteke koje su potpuno iste veličine kao i navedena veličina.
    • Rezultati pretrage se mogu filtrirati prema bajtovima (c), kilobajtima (k), megabajtima (M), gigabajtima (G) ili blokovima od 512 bajta (b). Imajte na umu da prikazani modifikatori razlikuju velika i mala slova.
  5. Koristite logičke operatore (boolean operatore) za kombiniranje filtera pretraživanja. Možete koristiti -and, -or, -not operatore da kombinujete različite pretrage u jedan upit.

    find / travelphotos -type f -size + 200k -not -iname "* 2015 *"

    • Ova komanda će pronaći datoteke u folderu "Travelphotos" koje su veće od 200 KB i koje nemaju broj 2015 u svom nazivu.

Ažurirano: 02.11. Objavljeno: 25.07.2016

Najsvestranija i najfunkcionalnija naredba za pretraživanje u Linuxu - naći. Ovaj članak je varalica s primjerima njegove upotrebe.

Opća sintaksa

naći<где искать> <опции>

<где искать> — put do korijenskog direktorija gdje treba započeti pretraživanje. Na primjer, pronađite / home / user - pretražite u odgovarajućem direktoriju. Koristite tačku "." Za trenutni direktorij.

<опции> — skup pravila po kojima se traži.

* po defaultu, pretraga je rekurzivna. Za pretragu u određenom direktoriju možete koristiti opciju maxdepth.

Opis opcija

Opcija Opis
-ime Traži po imenu.
-iname Pretraživanje po imenu bez obzira na velika i mala slova.
-tip

Vrsta objekta pretrage. Moguće opcije:

  • f - fajl;
  • d - imenik;
  • l - veza;
  • p - cijev;
  • s - utičnica.
-veličina Veličina objekta. Postavlja se u blokovima od 512 bajtova ili jednostavno u bajtovima (sa "c" karakterom).
-mtime Vrijeme izmjene fajla. Označeno u danima.
-mmin Promjena vremena u minutama.
-vrijeme Vrijeme posljednjeg pristupa objektu u danima.
-amin Vrijeme posljednjeg poziva u minutama.
-ctime Zadnja promjena vlasnika ili prava na objektu u danima.
-cm Zadnja promjena vlasnika ili prava u minutama.
-korisnik Traži po vlasniku.
-grupa Po grupi.
-perm Sa određenim pravima pristupa.
-dubina Pretraživanje ne bi trebalo početi od korijena, već od najdubljeg ugniježđenog direktorija.
-maxdepth Maksimalna dubina pretraživanja direktorija. -maxdepth 0 - traži samo u trenutnom direktoriju. Podrazumevano, pretraga je rekurzivna.
-šljive Isključujući navedene direktorije.
-mount Nemojte prelaziti na druge sisteme datoteka.
-regex Po imenu sa regularnim izrazom.
-regextype<тип> Tip regularnog izraza.
-L Prikazuje sadržaj simboličkih veza (symlink).
-prazno Potražite prazne direktorije.
-izbrisati Brisanje pronađeno.
-ls Izlaz kao ls -dgils
-print Prikaži pronađeno.
-print0 Put do pronađenih objekata.
-exec<команда> {} \; Pokrenite komandu na pronađenoj.
-uredu Izdajte prompt prije izvršavanja -exec.

Kompletan set trenutnih opcija može se dobiti pomoću naredbe covek pronaci.

Pronađite primjere

Potražite datoteku po imenu

pronađi / -name "file.txt"

* ovaj primjer će tražiti datoteku pod nazivom file.txt preko cijelog sistema datoteka počevši od korijena / .

Potražite datoteku prema dijelu imena:

pronađi / -name "* .tmp"

* ova komanda će tražiti sve fascikle ili datoteke u osnovnom direktorijumu /, završava u .tmp

Pronađite sve datoteke ili fascikle koje počinju sa sess_ i završiti sa cd

naći. -name "sess_ *" -a -name "* cd"

* -a: logično I, -o: logično OR.

Traži po datumu

1. Potražite fajlove koji su se promijenili prije određenog broja dana:

naći. -tip f -mtime +60

* ova komanda će pronaći datoteke koje su promijenjene prije više od 60 dana.

2. Potražite datoteke koristeći novije... Ova opcija je dostupna od verzije 4.3.3 (možete je vidjeti pomoću naredbe pronađi --version).

a) datum izmjene:

naći. -type f -newermt "2019-11-02 00:00"

* će prikazati sve datoteke koje su se promijenile od 02.11.2019 00:00.

naći. -type f -newermt 2019-10-31! -newermt 2019-11-02

* će pronaći sve datoteke koje su promijenjene između 31.10.2019. i 01.11.2019. (uključivo).

b) datum žalbe:

naći. -tip f -noviji 08.10.2019

* svim fajlovima pristupljeno od 10.08.2019.

naći. -type f -novi 2019-10-01! -newerat 2019-11-01

* svim fajlovima pristupljeno u oktobru.

c) datum kreiranja:

naći. -type f -newerct 2019-09-07

naći. -type f -newerct 2019-09-07! -newerct "2019-09-09 07:50:00"

* fajlovi kreirani od 09/07/2019 00:00:00 do 09/09/2019 07:50

Tip

Pretražite samo datoteke u trenutnom direktoriju i svim njegovim podmapama:

* f- pretraži samo fajlove.

Pretraživanje po pravima pristupa

Tražimo sve što je desno za čitanje i pisanje:

nađi / -perm 0666

Pronađite fajlove kojima samo vlasnik ima pristup:

naći / -perm 0600

Potražite datoteku prema sadržaju

find / -type f -exec grep -i -H "sadržaj" () \;

* u ovom primjeru se vrši rekurzivna pretraga za sve datoteke u direktoriju / i prikazuje se lista onih koji sadrže niz sadržaja.

Sortirano po datumu izmjene

pronađi / tip podataka f -printf "% TY-% Tm-% Td% TT% p \ n" | sortiraj -r

* komanda će pronaći sve datoteke u direktoriju / data, će dodati datum izmjene imenu i sortirati podatke po imenu. Kao rezultat, dobijamo da će fajlovi ići redosledom kojim su modifikovani.

pronađi / home / user / * -type d -exec chmod 2700 () \;

* u ovom primjeru tražimo sve direktorije ( tip d) u imeniku / home / korisnik i postaviti prava za njih 2700 .

Planirano čišćenje

Tim naći pogodan za korištenje za automatsko brisanje zastarjelih datoteka.

Otvorite cron posao za uređivanje:

i dodati:

0 0 * * * / bin / find / tmp -mtime +14 -exec rm () \;

* u ovom primjeru brišemo sve datoteke i mape iz direktorija / tmp, koji su stariji 14 dana. Zadatak se izvodi svaki dan u 00:00 .
* pogledajte punu putanju do izvršne datoteke sa naredbom koji pronalaze- na različitim UNIX sistemima, može se nalaziti na različitim mjestima.

Dok radite u bilo kojem operativnom sistemu, ponekad postoji potreba za korištenjem alata za brzo pronalaženje određene datoteke. To vrijedi i za Linux, pa ćemo u nastavku razmotriti sve moguće načine pronalaženja datoteka u ovom OS-u. I alati za upravljanje datotekama i naredbe koje se koriste u "terminal".

Ako trebate podesiti mnogo parametara pretraživanja da biste pronašli željeni fajl, onda naredba naći nezamjenjiv. Prije nego što razmotrite sve njegove varijacije, vrijedi proći kroz sintaksu i opcije. Ima sljedeću sintaksu:

opcija pronalaženja putanje

gdje način je direktorij u kojem će se izvršiti pretraga. Postoje tri glavne opcije za određivanje putanje:

  • / - pretraživanje po korijenskim i susjednim direktorijima;
  • ~ - pretraživanje matičnog imenika;
  • ./ - pretraživanje u direktoriju u kojem se korisnik trenutno nalazi.

Također možete odrediti putanju direktno do samog direktorija, u kojem se datoteka navodno nalazi.

Opcije na naći mnogo, a zahvaljujući njima možete implementirati fleksibilne postavke pretraživanja postavljanjem potrebnih varijabli:

  • -ime- izvršiti pretragu, uzimajući za osnovu naziv traženog elementa;
  • -korisnik- traženje datoteka koje se odnose na određenog korisnika;
  • -grupa- vrši pretragu za određenu grupu korisnika;
  • -perm- prikaz datoteka sa navedenim načinom pristupa;
  • -veličina n- pretraga na osnovu veličine objekta;
  • -mvrijeme + n -n- traži fajlove koji su se više promenili ( + n) ili manje ( -n) prije dana;
  • -tip- traženje datoteka određene vrste.

Postoje i mnoge vrste traženih elemenata. Evo liste njih:

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

Nakon detaljne analize sintakse i opcija naredbe naći možete ići direktno na ilustrativne primjere. Zbog obilja opcija za korištenje naredbe, primjeri će biti dati ne za sve varijable, već samo za one najčešće korištene.

Metoda 1: Pretraga po imenu (opcija -name)

Korisnici najčešće koriste opciju pretraživanja sistema. -ime, pa počnimo s tim. Pogledajmo nekoliko primjera.

Pretraga po ekstenzijama

Recimo da trebate pronaći datoteku u sistemu sa ekstenzijom ".Xlsx" koji se nalazi u imeniku Dropbox... Da biste to učinili, trebate koristiti sljedeću naredbu:

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

Iz njegove sintakse možemo reći da se pretraga vrši u imeniku Dropbox ("/ Početna / korisnik / Dropbox"), a željeni objekt mora biti sa ekstenzijom ".Xlsx"... Zvjezdica označava da će se pretraga izvršiti na svim datotekama ove ekstenzije, bez obzira na njihov naziv. "-Print" označava da će biti prikazani rezultati pretrage.

Traži po imenu datoteke

Na primjer, želite pretraživati ​​u imeniku "/ Dom" fajl sa imenom "Lumpics", ali njegovo proširenje nije poznato. U ovom slučaju morate učiniti sljedeće:

find ~ -name "lumpics *" -print

Kao što vidite, ovdje se koristi simbol «~» , što znači da će se pretraga obaviti u početnom imeniku. Nakon opcija "-ime" navedeno je ime datoteke koju tražite ( "Lumpics *"). Zvjezdica na kraju znači da će se pretraga izvršiti samo po imenu, isključujući ekstenziju.

Traži po prvom slovu u imenu

Ako se sjećate samo prvog slova s ​​kojim počinje naziv datoteke, postoji posebna sintaksa komande 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 direktoriju se nalazi. Zatim morate pokrenuti sljedeću naredbu:

find / -name "*" -print

Sudeći po simbolu "/" koji dolazi odmah iza glavne naredbe, pretraga će se vršiti počevši od korijenskog direktorija, odnosno u cijelom sistemu. Dalje, dio «*» znači da će riječ koju tražite početi određenim slovom. U našem slučaju, od "G" prije "L".

Usput, ako znate ekstenziju datoteke, onda nakon simbola «*» možete to specificirati. Na primjer, morate pronaći isti fajl, ali znate da ima ekstenziju ".Odt"... Tada možete koristiti naredbu poput ove:

find / -name "* .odt" -print

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

Ponekad morate pronaći objekat čije ime ne znate, ali znate koji način pristupa ima. Zatim morate primijeniti opciju "-Perm".

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

pronaći ~ -perm 775 -print

Odnosno, pretraga se vrši u početnoj sekciji, a traženi objekti će imati pristup 775 ... Također možete dodati ovaj broj prefiksom "-", tada će pronađeni objekti imati bitove dozvole od nule do određene vrijednosti.

Metoda 3: Pretraga po korisniku ili grupi (opcije -korisnik i -grupa)

Svaki operativni sistem ima korisnike i grupe. Ako želite pronaći objekt koji pripada jednoj od ovih kategorija, onda za to možete koristiti opciju "-Korisnik" ili "-Grupa", odnosno.

Potražite datoteku prema njenom korisničkom imenu

Na primjer, trebate pronaći u imeniku Dropbox fajl "lampice", ali ne znate kako se zove, ali znate samo da pripada korisniku "Korisnik"... Zatim morate pokrenuti sljedeću naredbu:

pronađi / home / korisnik / Dropbox -korisnik korisnik -print

U ovoj naredbi ste naveli potreban direktorij ( / početna / korisnik / Dropbox), naznačio je da trebate potražiti fajl u vlasništvu korisnika ( -korisnik), i naznačio kojem korisniku pripada ovaj fajl ( korisnik).

Potražite datoteku prema nazivu grupe

Traženje datoteke koja pripada određenoj grupi je isto tako jednostavno - samo trebate zamijeniti opciju "-Korisnik" na opciju "-Grupa" i navedite naziv ove grupe:

pronađi / -grupi gost -ispis

To jest, naznačili ste da želite pronaći datoteku u sistemu koja pripada grupi "Gost"... Pretraga će se odvijati u cijelom sistemu, o čemu svjedoči simbol «/» .

Metoda 4: Potražite datoteku prema njenom tipu (opcija -tip)

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

Na primjer, pretpostavimo da želite pronaći sve blok datoteke u vašem početnom direktoriju. U ovom slučaju, vaša naredba će izgledati ovako:

find ~ -type b -print

U skladu s tim, naznačili ste da pretražujete po tipu datoteke, o čemu svjedoči opcija "-Tip", a zatim odredio njen tip stavljanjem simbola blok datoteke - "B".

Isto tako, možete prikazati sve direktorije u potrebnom direktoriju upisivanjem simbola "D":

find / home / user -type d -print

Metoda 5: Pretraga fajla po veličini (opcija -veličina)

Ako od svih informacija o datoteci znate samo njenu veličinu, onda bi i to moglo biti dovoljno da je pronađete. Na primjer, želite da pronađete datoteku od 120 MB u određenom direktoriju, da biste to učinili, učinite sljedeće:

pronađi / home / korisnik / Dropbox -veličina 120M -print

Kao što vidite, fajl koji nam je potreban je pronađen. Ali ako ne znate u kojem direktoriju se nalazi, možete pretražiti cijeli sistem tako što ćete navesti korijenski direktorij na početku naredbe:

pronađi / -veličina 120M -print

Ako otprilike znate veličinu datoteke, postoji posebna komanda i za ovaj slučaj. Morate se registrovati "terminal" ista stvar, samo stavite znak ispred veličine datoteke «-» (ako trebate pronaći datoteke manje od navedene veličine) ili «+» (ako je veličina tražene datoteke veća od navedene). Evo primjera takve naredbe:

pronađi / početnu / korisnik / Dropbox + 100M -print

Metoda 6: Pretražite datoteku prema datumu izmjene (opcija -mtime)

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

Recimo u folderu "slike" moramo pronaći objekte koji su pretrpjeli promjene u posljednjih 15 dana. Evo šta treba da upišete "terminal":

pronađi / početnu / korisnik / Slike -mtime -15 -print

Kao što vidite, ova opcija prikazuje ne samo datoteke koje su se promijenile u navedenom periodu, već i foldere. Također radi u suprotnom smjeru - možete pronaći objekte koji su promijenjeni kasnije od navedenog perioda. Da biste to učinili, potrebno je da unesete znak ispred digitalne vrijednosti «+» :

pronađi / početnu / korisnik / Slike -mtime +10 -print

GUI

Grafičko sučelje znatno olakšava život početnicima koji su upravo instalirali Linux distribuciju. Ova metoda pretraživanja je vrlo slična onoj koja se provodi u Windows-u, iako ne može pružiti sve prednosti koje nudi. "terminal"... Ali prvo stvari. Dakle, pogledajmo kako izvršiti pretragu datoteka u Linuxu koristeći grafički interfejs sistema.

Metoda 1: Pretražujte kroz sistemski meni

Sada ćemo razmotriti način pretraživanja datoteka kroz meni Linux sistema. Radnje će se izvoditi u distribuciji Ubuntu 16.04 LTS, međutim, uputstva su zajednička za sve.

Podijelite ovo