Kaip naudoti failus ieškant „Linux“ komandos

Šiame įraše pažvelgsime į „Linux“ find komandą ir kaip ieškoti ir rasti failus su skirtingais atributais.



„Linux“ surask komandą

„Linux“ find komanda yra integruotas galingas įrankis, kuris gali būti naudojamas failams ir katalogams surasti ir tvarkyti, remiantis įvairiausiais paieškos kriterijais.

Pvz., Galime rasti failus pagal jų pavadinimą, plėtinį, dydį, leidimus ir kt. Taip pat galime naudoti find komanda ieškoti konkretaus teksto faile, kurio vardo nežinome.


Pažiūrėkime, kaip naudojamas find komanda su pavyzdžiais:

Ieškoma failo pagal pavadinimą

Jei žinote failo pavadinimą, bet neprisimenate katalogo, kuriame yra, galite naudoti šią komandą iš šakninio katalogo:


find . -name sales.csv

Mėginio išvestis:

./accounts/sales.csv

Konkretaus failo paieška kataloge

Jei norite ieškoti konkretaus failo (-ų) kataloge, galime naudoti:

find ./test -name testCases*

Mėginio išvestis:

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

Anksčiau nurodytu atveju ieškome tik kataloge „./test“.


Raskite failus pagal plėtinį

Norėdami ieškoti ir rasti failus pagal tam tikrą plėtinį, kurį naudojame:

find . -name *.jpg

Mėginio išvestis:

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

Raskite failus ar katalogus su tam tikrais pavadinimais

Norėdami rasti tik failus, turime naudoti -f variantas:

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

Mėginio išvestis:


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

Norėdami rasti tik katalogus, turime naudoti -d variantas:

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

Mėginio išvestis:

./test/results

Raskite failus keliuose kataloguose

Jei norite ieškoti ir surašyti visus failus su nurodytu vardu keliuose kataloguose, galite pradėti paiešką šakniniame aplanke arba, jei žinote katalogus, galite juos nurodyti.

Pavyzdys:


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

Mėginio išvestis:

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

Raskite failus, kuriuose yra tam tikras tekstas

Kartais norite rasti failą ir nežinote jo pavadinimo, bet žinote, kad jame yra tam tikras tekstas.

Tu gali naudoti:

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

Čia, -i parinktis naudojama norint nepaisyti didžiųjų ir mažųjų raidžių, todėl bus rasti „Login_Scenarios“ ir „login_scenarios“.


Raskite failus pagal dydį

Mes galime rasti net skirtingų dydžių failus. Dydžio parinktys yra:

  • c baitų
  • k kilobaitų
  • M Megabaitai
  • G Gigabaitai

Pavyzdžiui, norėdami rasti tikslaus dydžio failus, kuriuos naudojame:

find / -size 10M

Norėdami rasti failus, kurie yra didesni nei tam tikro dydžio, mes naudojame:

find ./test -size +2M

Pirmiau visi aplanke ./test rasite visus failus, kurie yra didesni nei 2 MB.

Raskite ir ištrinkite konkrečius failus

Norėdami rasti ir ištrinti konkrečius failus, kuriuos naudojame:

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

Išvada

Šiame straipsnyje jūs sužinojote, kaip naudoti komandą „linux find“ ieškant failų pagal pavadinimą, plėtinį, dydį ir tipą.