Šiame įraše pažvelgsime į „Linux“ find
komandą ir kaip ieškoti ir rasti failus su skirtingais atributais.
„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:
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
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“.
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
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
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
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“.
Mes galime rasti net skirtingų dydžių failus. Dydžio parinktys yra:
c
baitųk
kilobaitųM
MegabaitaiG
GigabaitaiPavyzdž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.
Norėdami rasti ir ištrinti konkrečius failus, kuriuos naudojame:
find . -type f -name 'temp*' -exec rm {} ;
Šiame straipsnyje jūs sužinojote, kaip naudoti komandą „linux find“ ieškant failų pagal pavadinimą, plėtinį, dydį ir tipą.