Инструменты пользователя

Инструменты сайта


linux:overall:search

Поиск в системе

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/* 
linux/overall/search.txt · Последнее изменение: 2023/09/20 02:55 — admin