find command unix
Uvod u Find Command u Unixu: Pretražite datoteke i direktorije pomoću Unix naredbe Find File
Naredba Unix find moćan je uslužni program za pretraživanje datoteka ili direktorija.
Pretraživanje se može temeljiti na različitim kriterijima, a odgovarajuće datoteke mogu se pokrenuti kroz definirane radnje. Ova se naredba rekurzivno spušta hijerarhiju datoteke za svako navedeno ime staze.
=> Kliknite ovdje za kompletnu seriju vodiča za Unix
Što ćete naučiti:
kako otvoriti swf s Adobe Flash Player -
Pronađite naredbu u Unixu
Sintaksa:
find [options] [paths] [expression]
Opcije za ovu naredbu koriste se za određivanje načina postupanja sa simboličkim vezama. Nakon toga slijedi skup staza za pretragu. Ako nisu zadane staze, tada se koristi trenutni direktorij. Dati se izraz zatim izvodi na svakoj datoteci pronađenoj u stazama.
Izraz se sastoji od niza opcija, testova i radnji, od kojih svaka daje logičku vrijednost. Izraz se procjenjuje slijeva udesno za svaku datoteku na putu dok se ne utvrdi rezultat, tj. Zna se da je rezultat istinit ili netačan.
- Izrazi opcija koriste se za ograničavanje operacije pronalaženja i uvijek vraćaju vrijednost true.
-
- -depth: obradite sadržaj direktorija prije obrade samog direktorija.
- -maxdepth: maksimalne razine ispod predviđenih staza za spuštanje radi podudaranja.
- -mindepth: min razine izvan predviđenih staza koje će se spustiti prije podudaranja.
-
- Izrazi testa koriste se za procjenu određenih svojstava datoteka i u skladu s tim vraćaju true ili false. (Gdje god se koristi brojanje 'n': bez ijednog prefiksa podudaranje je za točnu vrijednost n; s prefiksom '+' podudaranje je za vrijednosti veće od n; a s prefiksom '-' podudaranje je za vrijednosti manje od n.)
-
- -atime n: Vraća vrijednost true ako je datoteci pristupljeno prije n dana.
- -ctime n: Vraća vrijednost true ako je status datoteke promijenjen prije n dana.
- -mtime n: Vraća vrijednost true ako je sadržaj datoteke promijenjen prije n dana.
- -name pattern: Vraća true ako se ime datoteke podudara s navedenim uzorkom ljuske.
- -iname pattern: Vraća true ako se naziv datoteke podudara s navedenim uzorkom ljuske. Ovdje se podudara bez velikih i malih slova.
- -path pattern: Vraća true ako se naziv datoteke s putanjom podudara s uzorkom ljuske.
- -regex obrazac: Vraća true ako se naziv datoteke s putanjom podudara s regularnim izrazom.
- -size n: Vraća true ako je veličina datoteke n blokova.
- -perm - mode: Vraća true ako su za datoteku postavljeni svi bitovi dozvole za način rada.
- -type c: Vraća true ako je datoteka tipa c (npr. 'b' za datoteku blok uređaja, 'd' za direktorij itd.).
- -username: Vraća true ako je datoteka u vlasništvu korisničkog imena ‘name’.
-
- Izrazi radnje koriste se za definiranje radnji koje imaju nuspojave i mogu vratiti true ili false. Ako nisu navedene radnje, izvršava se akcija '-print' za sve odgovarajuće datoteke.
-
- -delete: Izbrišite podudarnu datoteku i u slučaju uspjeha vratite true.
- -exec naredba: Izvršite zadanu naredbu za svaku podudarnu datoteku i vratite true ako je povratna vrijednost 0.
- -ok naredba: Poput izraza 'exec', ali prvo potvrđuje s korisnikom.
- -ls: navedite odgovarajuću datoteku prema formatu 'ls -dils'.
- -print: Ispisati naziv odgovarajuće datoteke.
- -prune: Ako je datoteka direktorij, nemojte se spuštati u nju i vraćajte true.
-
- Izraz se procjenjuje slijeva udesno i sastavlja pomoću sljedećih operatora.
-
- ( ekspr ) : Koristi se za forsiranje prednosti.
- ! ekspr: Koristi se za poništavanje izraza.
- izraz1 -do expr2: Rezultat je 'i' dva izraza. Expr2 se procjenjuje samo je expr1 true.
- expr1 expr2: U ovom je slučaju implicitni operator „i“.
- izraz1 -ili expr2: Rezultat je 'ili' dva izraza. Expr2 se procjenjuje samo je expr1 false.
-
Primjeri
Navedite sve datoteke pronađene u trenutnom direktoriju i njegovu hijerarhiju
$ find.
Navedite sve datoteke pronađene u trenutnoj hijerarhiji i svu hijerarhiju ispod / home / xyz
$ find. /home/XYZ
Potražite datoteku s imenom abc u trenutnom direktoriju i njegovoj hijerarhiji
$ find ./ -name abc
Potražite direktorij po imenu xyz u trenutnom direktoriju i njegovoj hijerarhiji
$ find ./ -type d -name xyz
Potražite datoteku s imenom abc.txt ispod trenutnog direktorija i zatražite od korisnika da izbriše svako podudaranje.
Imajte na umu da je niz '{}' tijekom izvođenja zamijenjen stvarnim nazivom datoteke i da je ';' string se koristi za završetak naredbe koja se izvršava.
$ find ./ -name abc.txt -exec rm -i {} ;
Potražite datoteke koje su u posljednjih 7 dana izmijenjene ispod trenutnog direktorija
$ find ./ -mtime -7
Potražite datoteke koje imaju sva dopuštenja postavljena u trenutnoj hijerarhiji
$ find ./ -perm 777
Zaključak
Ukratko, Find Command u Unixu vraća sve datoteke ispod trenutnog radnog direktorija. Nadalje, naredba find omogućava korisniku da odredi radnju koju će poduzeti za svaku podudarnu datoteku.
=> Kliknite ovdje za kompletnu seriju vodiča za Unix
Preporučena literatura
- Izreži naredbu u Unixu s primjerima
- Ls naredba u Unixu s primjerima
- Manipulacija datotekama u Unixu: Pregled Unix datotečnog sustava
- Sintaksa naredbe Unix Cat, mogućnosti s primjerima
- Grep naredba u Unixu s jednostavnim primjerima
- Unix naredba za sortiranje sa sintaksom, opcijama i primjerima
- Tar naredba u Unixu za stvaranje sigurnosnih kopija (primjeri)
- Kako usporediti dvije datoteke u Unixu: naredbe za usporedbu datoteka