====== Поиск в системе ====== ===== find ===== Ищет объекты и выводит имена и местоположение в стандартный вывод.\\ * **-iname (-name)** - не чувствительно (чувствительно) к регистру. * **-exec command {} \; (-ok)** - выполнить указанную команду над найденным объектом (запрос перед выполнением). * **-regex** - по регулярному выражению. * **-type** - тип искомого: f=файл, d=каталог, l=ссылка, p=канал, s=сокет. * **-maxdepth** - глубина поиска (1 - текущего каталога). * **-name** - точное совпадение * **-exec** - выполнить команду для каждого найденного объекта
:!: Примеры # Поиск файлов в системе по имени find /usr/* -name "default_template.go" # Поиск указанных папок и копирование их find . -name "fold_*" -type d -exec "cp {} /to_folder/" # Либо так еще можно, подставляем результаты поиска в команду копирования. cp `find /var/log/ --maxdepth 1 -iname "*.1"` ~/logs # Исключить путь из поиска # (все изи файлы, кроме пути "/opt/App/jenkins") find /opt/App/ -path "/opt/App/jenkins" -prune -o -name *.ini # Так же есть пар-р "-not -path", но он так же проходит все расположения, просто возвращает false при проверке, вариант выше же скипает полностью папку find /opt/App/ -not -path "/opt/App/jenkins/*" -name *.ini # Поиск по содержимому файлов, с исключением папки логов find * -type f -not -path "logs/*" -exec grep -l "*TLS*" {} \; #
===== locate ===== Не запускает новый поиск в ФС а активирует в существующем индексе, индекс может устареть, обновляется с каждым запуском ОС или командой **# updatedb**.\\ ===== grep (содержимое) ===== Позволяет искать вхождение указанных строк в содержимом файлов * **-r** - вложенный поиск * **-o** - вывод только содержимого (вроде) * **-w** - совпадение всего слова * **-x** - вывод всей строки (вроде) grep -r "text" /folder/*