U ovom ćemo postu pogledati linux find
naredba i kako tražiti i pronaći datoteke s različitim atributima.
Linux find
naredba je ugrađeni snažni alat koji se može koristiti za lociranje i upravljanje datotekama i direktorijima na temelju širokog raspona kriterija pretraživanja.
Na primjer, datoteke možemo pronaći prema njihovom imenu, nastavku, veličini, dozvolama itd. Također možemo koristiti find
naredba za traženje određenog teksta u datoteci kojoj ne znamo ime.
Pogledajmo malo upotrebe find
naredba s primjerima:
Ako znate naziv datoteke, ali se ne možete sjetiti direktorija u kojem se nalazi, možete upotrijebiti sljedeću naredbu iz korijenskog direktorija:
find . -name sales.csv
Uzorak izlaza:
./accounts/sales.csv
Ako želite potražiti određene datoteke u direktoriju, možemo koristiti:
find ./test -name testCases*
Uzorak izlaza:
./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log
U gore navedenom slučaju tražimo samo unutar direktorija “./test”.
Za pretraživanje i pronalaženje datoteka prema određenom nastavku koristimo:
find . -name *.jpg
Uzorak izlaza:
./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg
Da bismo pronašli samo datoteke, trebamo upotrijebiti -f
opcija:
find ./ -type f -name 'results*'
Uzorak izlaza:
./test/results_latest.log ./test/results_archive.pdf
Da bismo pronašli samo direktorije, trebamo upotrijebiti -d
opcija:
find ./ -type d -name 'results*'
Uzorak izlaza:
./test/results
Ako želite pretraživati i navesti sve datoteke s danim imenom u više direktorija, možete pokrenuti pretraživanje u korijenskoj mapi ili ako znate direktorije, možete ih odrediti.
Primjer:
find ./test ./logs -name failed*.* -type f
Uzorak izlaza:
./test/failed_tests.txt ./logs/failed_tests.log
Ponekad želite pronaći datoteku i ne znate joj ime, ali znate da se u njoj nalazi određeni tekst.
Možeš koristiti:
find ./test -type f -exec grep -l -i 'login_scenarios' {} ;
Ovdje je -i
opcija se koristi za zanemarivanje velikih i malih slova, pa će se pronaći Login_Scenarios i login_scenarios.
Možemo čak pronaći datoteke različitih veličina. Opcije veličine su:
c
bajtovak
kilobajtaM
MegabajtiG
GigabajtaNa primjer, za pronalaženje datoteka točne veličine koju koristimo:
find / -size 10M
Da bismo pronašli datoteke veće od određene veličine, koristimo:
find ./test -size +2M
Iznad će se pronaći sve datoteke veće od 2 MB u mapi ./test.
Da bismo pronašli i izbrisali određene datoteke koje koristimo:
find . -type f -name 'temp*' -exec rm {} ;
U ovom ste članku saznali kako koristiti naredbu linux find za traženje datoteka na temelju imena, nastavka, veličine i vrste.