Команда find предназначена для рекурсивного поиска в каталогах файловой системы различных файлов, отбирая их по заданным вами ключам и параметрам. Она работает медленнее других команд поиска, однако её возможности велики.
Пример
find . - найти и отобразить все файлы находящиеся в текущем каталоге и во всех подкаталогах find /etc -name ppp.conf - найти в каталоге /etc файл с именем ppp.conf find /etc -name «*.conf» - найти в каталоге /etc все файлы с расширением .conf find -type f -user www - найти все файлы (f- файл, d- каталог, l- ссылка) пользователя www find . -mtime -5 - найти файлы, измененные пять или меньше дней назад find . -atime +10 - найти файлы, которые не читали больше десяти дней find . -newer httpd.conf - найти файлы, которые были изменены после изменения файла httpd.conf |
Для поиска по содержимому файлов нет специальной команды, и нет специального ключа для команды find, но есть возможность применить конструкцию:
# find /var/log/ -type f -exec grep -H ‘19:26′ {} \; |
Разберем эту конструкцию подробнее:
Отличие такого поиска заключается в скорости работы, но имеет некоторые недостатки. Команда locate отвечает за поиск файлов в индексированной базе данных. Поиск в такой базе осуществляется практически мгновенно,однако база данных locate нуждается в периодическом обновлении, без которого результат работы этой команды может оказаться неактуальным. Обновление базы locate осуществляется через демон cron и присутствует в списке задач periodic weekly. Обновление базы данных производится программой /usr/libexec/locate.updatedb а файл конфигурации – /etc/locate.rc.При поиске locate ищет совпадения не только в именах файлов и каталогов, но и в их путях.
Пример
locate \*.conf -найти все файлы с расширением .conf locate -i «/x11/xtrans» -поиск, не зависимый от регистра locate -с \*.pid -отобразить количество файлов с расширением .pid |
Команда whatis отображает краткое описание программы, записанное в индексированной базе данных. База данных создается и обновляется при помощи команды makewhatis. Она разбита на файлы, хранящиеся там же, где и сами базы man: */man/whatis. Обновление базы whatis осуществляется через демон cron и присутствует в списке задач periodic weekly. Для получения описания программы при использовании команды whatis нужно вводить полное и правильное имя программы. У этой команды нет специальных ключей или параметров.
Команда apropos так же делает поиск по базе приложений whatis, но в отличии от whatis не требует точного совпадения названия программы с параметром поиска. Она выведет все программы, в названии которых так или иначе встречается слово, введенное в качестве параметра.
Команда whereis выполняет поиск по стандартным директориям бинарных файлов, страниц помощи man, и исходных кодов программ включая /usr/src/ и /usr/ports/, и в случае совпадения выводит имена и пути этих файлов. Позволяет задавать пути поиска для каждого из 3-х компонентов, либо выполнять поиск по одному или 2-м заданным компонентам.
Пример
whereis -m -u /usr/bin/* -отображает список приложений, для которых нет страниц помощи man whereis -s -a bash -отображает список всех (а не только первого) файлов исходников bash |
Для поиска порта нужного приложения часто используется команда whereis. Например, Вам нужно найти программу trafshow.
# whereis trafshow /usr/ports/net/trafshow |
Для более точного поиска по портам существует отдельная команда make search name=port (make search key=port). Ее можно использовать только находясь в директории портов(/usr/ports/). Используйте ключ name, если вы точно знаете название приложения. Ключ key выполняет поиск в названиях и описаниях портов, а затем выводит поиск всех совпадений, где встречается заданный параметр поиска.
Пример
#cd /usr/ports
# make search key=pppoe
Port: rp-pppoe-3.8
Path: /usr/ports/net/rp-pppoe
Info: The popular Roaring Penguin’s PPPoE software
Maint: matthias [dot] andree [at] gmx [dot] de
B-deps:
R-deps:
WWW: http://www.roaringpenguin.com/penguin/openSourceProducts/rpPppoe
|
Поиск при помощи команды make search не чувствителен к регистру.
Для поиска уже установленных приложений или собранных пакетов используется команда pkg_info. Она выводит список всех установленных приложений, и их версии и короткие описания, но при использовании ключей поможет узнать больше информации об установленных приложениях.
Пример
pkg_info -a - выводит список всех установленных приложений с детальным описанием, адресом в интернете и зависимостями pkg_info -D webmin-1.420_2 - выводит сообщение выводимое после установки для webmin-1.420_2 pkg_info -r mc-4.6.1_6 - список зависимостей Midnight Commander pkg_info -R mc-4.6.1_6 - список приложений зависимых от Midnight Commander pkg_info -L curl-7.18.0 - список файлов с путями, принадлежащих приложению curl |
Re: Поиск в FreeBSD
Спасибо! Помогли мне разобраться!!
Re: Поиск в FreeBSD
а как просмотреть полный список вывода результата, а то не все прокручивается =(
Re: Поиск в FreeBSD
Перенаправление в просмотрщик:
Перенаправление в файл: