Kako koristiti Linux naredbu za pronalaženje datoteka

U ovom ćemo postu pogledati linux find naredba i kako tražiti i pronaći datoteke s različitim atributima.



Linux pronađi naredbu

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:

Traženje datoteke po imenu

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

Traženje određene datoteke u direktoriju

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”.


Pronađite datoteke prema produžetku

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

Pronađite datoteke ili direktorije s određenim imenima

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

Pronađite datoteke u više direktorija

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

Pronađite datoteke koje sadrže određeni tekst

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.


Pronađite datoteke prema veličini

Možemo čak pronaći datoteke različitih veličina. Opcije veličine su:

  • c bajtova
  • k kilobajta
  • M Megabajti
  • G Gigabajta

Na 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.

Pronađite i izbrišite određene datoteke

Da bismo pronašli i izbrisali određene datoteke koje koristimo:

find . -type f -name 'temp*' -exec rm {} ;

Zaključak

U ovom ste članku saznali kako koristiti naredbu linux find za traženje datoteka na temelju imena, nastavka, veličine i vrste.