Efectuarea cautarilor
Pagina principala | Curs | Laborator | Proiect |
Cautare in fisiere>> |
Cautarea fisierelor
Comanda find este folosita pentru a cauta orice fel de fisier (executabil, text, cod sursa etc.) intr-un anumit director sau pe tot hard-disk-ul, in directoarele unde utilizatorul are drept de citire. Sintaxa este (a se vedea si pagina de manual):
find cale parametru
unde prin cale se indica calea absoluta sau relativa
catre directorul in care vreti sa faceti cautarea. In cazul in care se cauta
pe tot hard-disk-ul calea se indica bineinteles prin /, adica cautare
incepand din radacina si descendent in toate directoarele si subdirectoarele.
Parametrul poate fi -perm, -name, -atime, -user etc, in functie de ce anume
se cauta: numele unui fisier, fisiere cu o anumita permisiune, dupa data ultimei
accesari, fisiere ce apartin unui anumit utilizator etc. Mai multe detalii gasiti
in pagina de manual.
De exemplu daca doriti sa cautati fisierele din cont la care aveti numai drept
de citire, adica cu permisiunea:
r-- --- --- (altfel scris 400), atunci comanda este:
find ~ -perm 400
Cea mai simpla cautarea este cea dupa nume. Daca cautati de exemplu programul cu numele traceroute pentru a vedea in ce director se afla, ca sa o adaugati la calea de cautare, comanda corespunzatoare este:
find / -name traceroute
Atentie: Daca faceti cautarea de la radacina, se vor lista pe iesirea standard si erorile datorate permisiunilor restrictive la diferitele directoare prin care trece cautarea. In cazul acesta, pentru a nu aparea erorile se poate redirecta iesirea de eroare (identificat prin 2) catre /dev/null:
find / -name traceroute 2>/dev/null
sau erorile pot fi redirectate catre un fisier pentru a vedea in ce directoare nu s-a putut face cautarea:
find / -name traceroute 2>find_erori
Cautarea fisierelor dupa nume partial
Daca nu stiti numele exact al fisierului, se poate face cautarea si dupa numele partial. Cateva exemple:
find . -name '*.jpg' | cauta in directorul curent toate fisierele cu extensia .jpg |
find . -name '*om*' | cauta in directorul curent toate fisierele care contin caracterele om, indiferent de pozitia lor in numele fisierului |
find . -name '?p*' |
cauta in directorul curent toate fisierele care au al doilea caracter litera p. |
find . -name '[o-t]p*' | cauta in directorul curent toate fisierele care incep cu oricare din combinatiile op, pp, rp, sp, tp, |
Cautarea fisierelor dupa diverse caracteristici
Fisierele pot fi cautate si dupa o anumita caracteristica, cum ar fi marimea, data ultimei accesari, proprietarul sau grupul careia ii apartine etc. De exemplu pentru a cauta un fisier de o anumita marime, se foloseste optiunea size. Comanda de mai jos va cauta toate fisierele din directorul curent care au dimenaiunea de 3000 de octeti:
find . -size 3000c
Daca se doreste specificarea marimii in kiloocteti, atunci dupa marimea specificata in loc de caracterul c se foloseste k.
Pentru a cauta toate fisierele cu dimensiunea mai mare de 400kocteti, comanda este:
find . -size +400k
Alte comenzi de cautare:
find . -amin -60 |
Cauta fisierele accesate in ultima ora |
Mai multe detalii in pagina de manual a comenzii find.
Cautare in fisiere>> |