Hoe u die Linux Find Command gebruik om lêers te vind

In hierdie pos sal ons na die Linux find kyk opdrag en hoe om lêers met verskillende eienskappe te soek en te vind.



Linux vind opdrag

Die Linux find opdrag is 'n ingeboude kragtige instrument wat gebruik kan word om lêers en gidse op te spoor en te bestuur op grond van 'n wye verskeidenheid soekkriteria.

Ons kan byvoorbeeld lêers op hul naam, uitbreiding, grootte, regte, ens. Vind. Ons kan ook die find opdrag om na 'n spesifieke teks in 'n lêer te soek waarvoor ons nie die naam ken nie.


Kom ons kyk na die gebruik van die find opdrag met voorbeelde:

Soek na 'n lêer op naam

As u die naam van 'n lêer ken, maar nie die gids daarin kan onthou nie, kan u die volgende opdrag in die hoofmap gebruik:


find . -name sales.csv

Voorbeelduitset:

./accounts/sales.csv

Soek na 'n spesifieke lêer in 'n gids

As u na spesifieke lêer (s) in 'n gids wil soek, kan ons:

find ./test -name testCases*

Voorbeelduitset:

./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log

In bogenoemde geval soek ons ​​slegs in die gids “./test”.


Soek lêers volgens uitbreiding

Om lêers te soek en te vind volgens 'n sekere uitbreiding wat ons gebruik:

find . -name *.jpg

Voorbeelduitset:

./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg

Soek lêers of gidse met sekere name

Om slegs lêers te vind, moet ons die -f gebruik opsie:

find ./ -type f -name 'results*'

Voorbeelduitset:


./test/results_latest.log ./test/results_archive.pdf

Om slegs gidse te vind, moet ons die -d gebruik opsie:

find ./ -type d -name 'results*'

Voorbeelduitset:

./test/results

Soek lêers in verskeie gidse

As u alle lêers met 'n gegewe naam in verskeie gidse wil soek en lys, kan u die soektog in die hoofmap begin, of as u die gidse ken, kan u dit spesifiseer.

Voorbeeld:


find ./test ./logs -name failed*.* -type f

Voorbeelduitset:

./test/failed_tests.txt ./logs/failed_tests.log

Soek lêers wat 'n sekere teks bevat

Soms wil u 'n lêer vind en weet u nie die naam nie, maar u weet dat dit 'n sekere teks bevat.

Jy kan gebruik:

find ./test -type f -exec grep -l -i 'login_scenarios' {} ;

Hier is die -i opsie word gebruik om die geval te ignoreer, dus Login_Scenarios en login_scenarios sal albei gevind word.


Soek lêers volgens grootte

Ons kan selfs lêers in verskillende groottes vind. Grootte-opsies is:

  • c grepe
  • k kilobytes
  • M Megagrepe
  • G Gigabyte

Om byvoorbeeld lêers te vind op 'n presiese grootte wat ons gebruik:

find / -size 10M

En om lêers te vind wat groter is as 'n sekere grootte, gebruik ons:

find ./test -size +2M

Bogenoemde sal al die lêers wat groter is as 2 MB in die ./test-lêergids vind.

Soek en verwyder spesifieke lêers

Om spesifieke lêers wat ons gebruik, te vind en uit te wis:

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

Afsluiting

In hierdie artikel het u geleer hoe u die Linux find-opdrag kan gebruik om na lêers te soek op grond van naam, uitbreiding, grootte en tipe.