У гэтым пасце мы разгледзім Linux find
каманда і як шукаць і знаходзіць файлы з рознымі атрыбутамі.
Linux find
каманда - гэта ўбудаваны магутны інструмент, які можна выкарыстоўваць для пошуку і кіравання файламі і каталогамі на аснове шырокага спектру крытэрыяў пошуку.
Напрыклад, мы можам знайсці файлы па іх назве, пашырэнні, памеры, дазволах і г. д. Мы таксама можам выкарыстоўваць find
каманда для пошуку пэўнага тэксту ў файле, імя якога нам невядома.
Давайце паглядзім, як выкарыстоўваецца find
каманда з прыкладамі:
Калі вы ведаеце імя файла, але не можаце ўспомніць каталог, у якім вы знаходзіцеся, вы можаце выкарыстоўваць наступную каманду з каранёвага каталога:
find . -name sales.csv
Прыклад выхаду:
./accounts/sales.csv
Калі вы хочаце шукаць пэўныя файлы ў каталогу, мы можам выкарыстоўваць:
find ./test -name testCases*
Прыклад выхаду:
./test/testCases10.txt ./test/testCasesPassed.txt ./test/testCasesFailed.log
У прыведзеным вышэй выпадку мы шукаем толькі ў каталогу './test'.
Для пошуку і пошуку файлаў па пэўным пашырэнні мы выкарыстоўваем:
find . -name *.jpg
Прыклад выхаду:
./test/results/failedTests.jpg ./test/project.jpg ./home/profile_pic.jpg ./tmp/cute-cats.jpg
Каб знайсці толькі файлы, нам трэба выкарыстоўваць -f
варыянт:
find ./ -type f -name 'results*'
Прыклад выхаду:
./test/results_latest.log ./test/results_archive.pdf
Каб знайсці толькі каталогі, нам трэба выкарыстоўваць -d
варыянт:
find ./ -type d -name 'results*'
Прыклад выхаду:
./test/results
Калі вы хочаце шукаць і пералічваць усе файлы з зададзеным імем у некалькіх каталогах, вы можаце альбо пачаць пошук у каранёвай тэчцы, альбо калі вы ведаеце каталогі, вы можаце ўказаць іх.
Прыклад:
find ./test ./logs -name failed*.* -type f
Прыклад выхаду:
./test/failed_tests.txt ./logs/failed_tests.log
Часам вы хочаце знайсці файл, і вы не ведаеце яго імя, але ведаеце, што ў ім ёсць пэўны тэкст.
Вы можаце выкарыстоўваць:
find ./test -type f -exec grep -l -i 'login_scenarios' {} ;
Тут, -i
Опцыя выкарыстоўваецца для ігнаравання рэгістра, таму Login_Scenarios і login_scenarios будуць знойдзены.
Мы нават можам знайсці файлы розных памераў. Варыянты памеру:
c
байтk
кілабайтM
МегабайтыG
ГігабайтыНапрыклад, каб знайсці файлы з дакладным памерам, які мы выкарыстоўваем:
find / -size 10M
І каб знайсці файлы, якія перавышаюць пэўны памер, мы выкарыстоўваем:
find ./test -size +2M
Вышэй вы знойдзеце ўсе файлы, якія перавышаюць 2 МБ, у тэчцы ./test.
Каб знайсці і выдаліць пэўныя файлы, якімі мы карыстаемся:
find . -type f -name 'temp*' -exec rm {} ;
У гэтым артыкуле вы даведаліся пра тое, як карыстацца камандай linux find для пошуку файлаў у залежнасці ад імя, пашырэння, памеру і тыпу.