15 супер полезных примеров команды find в Linux / Хабр

15 супер полезных примеров команды find в Linux / Хабр Обзоры
Содержание
  1. Searchiq
  2. Wp поиск google
  3. Автоматически отображать все категории в списке:
  4. Актуальность
  5. Брутфорс поддоменов по одной букве
  6. Группировка слов поиска с помощью скобок
  7. Дальнейшая работа с результатами команды find: exec и xargs
  8. Добавить или удалить категории из результатов поиска:
  9. Заранее выберите категории:
  10. Изменить url-адрес поиска по умолчанию в wordpress
  11. Исключение папки из поиска
  12. Исключить из поиска
  13. Использование find и exec
  14. Использование команды xargs
  15. Использование скобок для группировки
  16. Использование точного совпадения для блокировки синонимов
  17. Как исключить записи из поиска wordpress
  18. Как исключить из результатов поиска только некоторые страницы / сообщения
  19. Как исключить страницы из поиска wordpress
  20. Команда find в linux
  21. Лучшие поисковые плагины для wordpress
  22. Определите категории для результатов поиска wordpress
  23. Особенности поиска в яндекс
  24. Отключение рекурсивного поиска для поиска только в текущей папке
  25. Поиск swiftype
  26. Поиск без учёта регистра
  27. Поиск всех ключевых слов в тексте
  28. Поиск документов с паролями
  29. Поиск документов, в которых отсутствует заданное слово
  30. Поиск крупных и мелких файлов (поиск по размеру файла)
  31. Поиск недавно изменённых файлов (поиск по времени изменения или создания)
  32. Поиск нескольких слов в тексте анкора
  33. Поиск нескольких файлов с несколькими расширениями (или условием)
  34. Поиск паролей подключения к базам данных
  35. Поиск по дате и диапазону дат
  36. Поиск по доменам
  37. Поиск по нескольким url атрибутам
  38. Поиск по одному слову
  39. Поиск по определённому диапазону дат
  40. Поиск по страницам на заданном языке
  41. Поиск по страницам, размещенным на данном хосте
  42. Поиск по страницам, размещенным по заданному адресу (url)
  43. Поиск по типу файлов
  44. Поиск по точной форме слова
  45. Поиск по файлам определённого типа
  46. Поиск по широкому диапазону дат
  47. Поиск пустых файлов и папок
  48. Поиск слова в заданной форме
  49. Поиск стоящих рядом точно совпадающих фраз
  50. Поиск только по тексту страницы
  51. Поиск только файлов или только папок
  52. Поиск файлов в заданной папке
  53. Поиск файлов по расширению
  54. Поиск файлов по расширению (важно)
  55. Поиск файлов с определёнными настройками доступа
  56. Поиск хостов на определённых портах
  57. Продвинутые операторы
  58. Разрешите посетителям выбрать категорию для поиска:
  59. Разрешить использование голосового поиска в wordpress
  60. Совпадение в общих чертах, использование подстановочного символа
  61. Сочетание команд find и grep
  62. Точное совпадение одного слова
  63. Улучшите функцию поиска и находите результаты в категории
  64. Подведение итогов
  65. Как ограничить вывод свойств умного фильтра в компоненте поиска search.page?
  66. Узнайте больше о Huawei

Searchiq

SearchIQ – еще один отличный поисковый плагин WordPress, который предоставляет пользователям расширенные возможности поиска. Благодаря мощной логике поиска, расширенному семантическому анализу, обработке ошибок и многим подобным функциям SearchIQ направляет пользователей к результатам, которые они искали. SearchIQ довольно легко установить и настроить.

Для начала необходимо создать учетную запись в SearchIQ, установить и активировать плагин, скопировать ключ API из панели управления SearchIQ и ввести ключ API в бэкэнд wp. Бесплатная версия доступна с базовыми функциями, а для предприятий, которым нужны расширенные функции, такие как PDF, CDN, Facet или индивидуальный брендинг, можно подписаться на платные пакеты.

Вы можете выполнять поиск не только по страницам, сообщениям, системным полям WordPress по умолчанию, пользовательским настраиваемым полям, атрибутам продуктов и таксономиям, PDF-файлам и выдержкам. Но панель управления SearchIQ также включает данные аналитики в реальном времени, которые помогают вам понять поведение пользователя при поиске, чтобы вы могли лучше оптимизировать свою контент-стратегию.

Wp поиск google

Начнем с плагина, который поможет вам использовать возможности поисковой системы Google на вашем сайте. Этот бесплатный плагин поможет вам настроить окно поиска Google, которое вы можете легко разместить на своем веб-сайте в качестве виджета.

Вам нужно будет зарегистрировать учетную запись пользовательского поиска Google, получить идентификатор, а плагин сделает все остальное. Затем ваши посетители смогут выполнять поиск по вашему сайту или по всему Интернету, в зависимости от ваших настроек, или даже искать только изображения, если вы решите это сделать.

  • Результаты предоставлены Google
  • Прямая ссылка на Google Analytics
  • Автозаполнение

Автоматически отображать все категории в списке:

Если вы хотите отобразить все категории и не хотите беспокоиться о добавлении или удалении их из этого кода после добавления / удаления их в панели администратора, используйте этот код между тегами :

Этот код сгенерирует список всех доступных категорий.

И это все. Теперь вы можете легко добавить одну или несколько категорий, по которым ваши посетители смогут легко выполнять поиск. Независимо от того, хотите ли вы, чтобы люди выбирали категорию сами, или вы хотите указать их в коде, вы защищены.

Актуальность

Relevanssi может показаться чем-то актуальным. На самом деле это так, потому что Relevanssi в переводе с финского означает релевантный. Этот плагин заменит вашу поисковую систему WordPress по умолчанию и сделает ее лучше. Чтобы продолжить рассказ об имени плагина, Relevanssi отсортирует ваши результаты по релевантности, а не по дате.

Создавайте собственные отрывки, выделяйте результаты в документах и ​​делайте многое, многое другое с помощью этого замечательного плагина. Relevanssi может искать по комментариям, тегам и пользовательским типам сообщений. Это также даст вам возможность выбирать вес для заголовков, тегов и комментариев и, таким образом, улучшить поиск.

Одна из многочисленных функций, на которые мы хотели бы обратить внимание, – это функция подсказок, которая дает пользователям похожие поисковые запросы – что-то вроде хорошо известного Google «Вы имели в виду?» предложение. Relevanssi предлагает гораздо больше, и мы говорим только о бесплатной версии. Если вам нужно больше, особенно если вы используете мультисайт, вам следует взглянуть на премиум-версию.

  • Нечеткое соответствие
  • Выделенные поисковые запросы в документах
  • Результаты поиска на основе предложений

Брутфорс поддоменов по одной букве

Мы уже рассматривали как с помощью Гугл перечислеть поддомены. Там же я говорил про плюсы и минусы этого способа. В Яндекс тоже есть такая возможность. Причём, для тех сайтов, которые я попробовал, Яндекс знает больше субдоменов чем Google!

Для этого можно использовать оператор rhost: Напомню, при нём домен/поддомен пишется в обратном порядке, т.е. начиная с домена верхнего уровня, затем домен второго уровня, затем поддомен третьего уровня и так далее.


Самое интересное – используя подстановочный символ * мы можем искать по части поддомена – к слову, Google не воспринимает частично написанные домены вообще.

Допустим, меня интересуют поддомены сайта kali.org. Я делаю запросы вида:

rhost:org.kali.a*
rhost:org.kali.b*
rhost:org.kali.c*
rhost:org.kali.d*
rhost:org.kali.e*
rhost:org.kali.f*
rhost:org.kali.g*
rhost:org.kali.h*
rhost:org.kali.i*
…
rhost:org.kali.t*
…
…

В результате я нашёл несколько новых субдоменов, которые не смог найти с помощью Гугл:

  • buildd-amd64.kali.org
  • eros.kali.org
  • eos.kali.org
  • iris.kali.org
  • images.kali.org

Можно создать скрипт и при правильно написанном алгоритме можно получить весь список субдоменов за несколько десятков запросов либо сотен запросов (в зависимости от выбранного алгоритма) – это может конкурировать с брут-форсом субдоменов по словарю. Самое важное – кроме Яндекса запросы никуда больше не делаются.

Группировка слов поиска с помощью скобок

онлайн обучение (java OR php)

Некоторые операторы, включая OR, наиболее полезны в комплексных запросах. Чтобы понять этот пример, вспомним, что логическое И подразумевается по умолчанию, поэтому этот пример равнозначен записи:

онлайн AND обучение AND (java OR php)

Она означает, что обязательно должно быть слово «онлайн», обязательно должно быть слово «обучение» и обязательно должно быть одно из двух слов (или оба сразу – это не запрещено) «java» или «php».


Если бы мы пропустили скобки, т.е. записали бы выражение так:

онлайн обучение java OR php

То оно бы означало

онлайн AND обучение AND java OR php

Операторы AND имеют приоритет над OR, т.е. он выполняются в первую очередь. Таким образом, это выражение означало бы: искать фразу в которой есть все три слова «онлайн обучение java» или фразу «php» (без других уточняющих слов).

Дальнейшая работа с результатами команды find: exec и xargs


Итак, мы изучили различные способы поиска файлов по заданным параметрам. Это хорошо. А теперь следующий шаг: рассмотрим, какие действия можно выполнять с результатами команды find.

Например, как найти файлы с именем, соответствующим определённому шаблону, и переименовать их за одно действие? Или выявить и удалить пустые файлы?

Вам уже известно, что в Linux можно использовать перенаправление ввода-вывода, чтобы объединить результаты одной команды с вводом другой. Но с результатами команды find это не сработает — по крайней мере, не напрямую.

Чтобы выполнить действия над результатом команды find, есть два варианта:

Добавить или удалить категории из результатов поиска:

  1. Откройте functions.php
  2. Скопируйте и вставьте код.
  1. Добавьте ID категорий в 3- ю строку
  2. Сохранить изменения

Теперь, когда вы внесли изменения, результаты поиска будут получать информацию только из указанных категорий, а остальные будут исключены. Как видите, вы можете легко добавлять категории в список; вы можете иметь только одну категорию, если хотите, или можете установить столько, сколько хотите, чтобы посетители могли выполнять поиск. Просто напишите идентификаторы категорий через запятую.

Если ваша единственная цель – исключить одну или две категории из результатов поиска, вы можете сделать это намного быстрее; вместо того, чтобы вводить все категории, которые вы хотите включить, вы можете исключить одну, введя знак минус (-) перед идентификатором категории. Например, если вы хотите исключить категорию с ID = 1, третья строка кода будет выглядеть так:

Вот так. Теперь вы можете более эффективно управлять результатами поиска.

Заранее выберите категории:

Сначала мы покажем вам код, который создаст новое окно поиска. С помощью этого кода вы не позволите людям выбирать категории для поиска, но вы определите категории в коде. Это может помочь вам с особыми категориями, для которых требуется отдельное окно поиска.

Например, у вас может быть категория, содержащая только обзоры смартфонов. С помощью этого кода вы можете разрешить людям выполнять поиск только по этой категории, чтобы в результатах поиска не загружалась информация о бытовой технике или других материалах, имеющихся на сайте. Имеет смысл, правда?

  1. Откройте страницу, на которой вы хотите, чтобы появилось окно поиска, или создайте на его основе новый виджет
  2. Скопируйте и вставьте следующий код:
  1. Измените значение третьего типа ввода на идентификатор категории, в которой вы хотите выполнить поиск.
  2. Сохранить изменения

После того, как вы внесете эти изменения, появится новое окно поиска, которое позволит вам искать по категории, идентификатор которой вы ввели в коде выше. Если вы хотите выполнить поиск по нескольким категориям, просто добавьте больше идентификаторов, введя числа, разделенные запятыми.

Хотя в некоторых случаях это может быть отличным решением, будут моменты, когда вы захотите показать список категорий и позволить посетителям выбирать, откуда искать.

Изменить url-адрес поиска по умолчанию в wordpress

Если ваш веб-сайт не является одностраничным, который содержит только название вашей компании и контактную информацию, если вы спросите нас, функция поиска является обязательной функцией. Неважно, начинаете ли вы блог WordPress или уже имеете тысячи сообщений и страниц на вашем сайте, пишете ли вы в качестве хобби или зарабатываете на своем блоге, вы должны делать все, чтобы ваши посетители оставались на сайте.

Неважно, используете ли вы встроенную поисковую систему WordPress или установили другую, вам нужно позаботиться о результатах поиска.

Хотя есть много вещей, которые вы можете сделать с функцией поиска, вы, возможно, забыли об одной простой, но важной вещи. Да, мы говорим об этом URL-адресе, который появляется в адресной строке, когда поиск возвращает страницу результатов.

По умолчанию WordPress использует неудобную для пользователя версию slug. Не только ваш посетитель сочтет этот ярлык странным, но и может нанести вред вашему SEO. Проще говоря, вы можете помочь своему оптимизатору, изменив ярлык на что-то понятное как людям, так и машинам.

Если вы пытались выполнить поиск на своем веб-сайте, вы могли увидеть этот странный ярлык /? S = term, который появляется в адресной строке. В этой части мы собираемся показать вам, как превратить это во что угодно. Например, мы собираемся заменить «/? S = term» на «/ search / term», который будет легче запомнить и использовать.

  1. Откройте functions.php
  2. Скопируйте и вставьте следующее:
  1. Измените целевой URL в третьей строке на все, что хотите
  2. Сохранить изменения

После того, как вы внесете эти изменения в свой файл functions.php, вы можете попробовать свой новый URL-адрес. Не волнуйтесь; если плагин или пользователь попытались получить доступ к вашему результату поиска, перейдя к старому URL-адресу, ваш веб-сайт не будет возвращать ошибку, а просто перенаправит результат поиска на новый URL-адрес.

Если вы хотите изменить слаг на что-то уникальное, вы можете сделать это в третьей строке кода.

Исключение папки из поиска

Если нет необходимости производить поиск в той или иной папке, можно исключить её с помощью опций path, prune и логического «или».

find . -path "./directory_exclude/*" -prune -o -name SEARCH_NAME


Будьте внимательны: путь к папке должен оканчиваться на *, затем идёт

-prune

и только потом

-o

Попросту говоря, при поиске с опцией prune папка, указанная с помощью path, игнорируется. Prune всегда сопровождается флагом -o (логическое «или»), чтобы папки, которые не были исключены, просматривались на наличие искомого объекта.

Исключить из поиска

Плагин, который мы использовали для этой работы, называется Search Exclude. Использование плагина не может быть проще:

  1. Перейдите в Plugins-> Add New
  2. Искать “Исключить из поиска”
  3. Установите и активируйте плагин
  4. Зайдите на любой из ваших постов и страниц
  5. На правой боковой панели найдите флажок «Исключить из поиска», где вы можете решить, хотите ли вы исключить публикацию / страницу из результатов поиска или нет.

После того, как вы исключили несколько сообщений / страниц, вы можете легко найти список исключенных элементов в настройках плагина (Настройки-> Исключить из поиска ). В списке вы снова можете использовать флажок, чтобы изменить статус публикации / страницы.

Использование find и exec


Допустим, вам нужен подробный список (ls -l) файлов, найденных командой find. Вот как его получить:

find . -type f -name "*.txt" -exec ls -l {}  

Результат будет таким:

abhishek@LHB:~/Examples$ find . -type f -name "*.txt" -exec ls -l {}  
-rw-rw-r-- 1 abhishek abhishek 39 Oct 13 19:30 ./another.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 15:36 ./new/dir1/new.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 15:36 ./new/dir2/another.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 18:51 ./new/mystuff/new.txt
-rwxrwxrwx 1 abhishek abhishek 35 Oct 13 15:37 ./new/new.txt
-rw-rw-r-- 1 abhishek abhishek 35 Oct 13 18:16 ./new.txt

Многие забывают ввести

{}

в конце команды exec. Но это необходимо — как и пробел между скобками {} и плюсом .

Фигурные скобки ссылаются на результат выполнения команды find. Их содержимое может иметь следующий вид: {файл 1, файл 2, файл 3}. Символ используется как конец команды exec.

Есть ещё один вариант оформления exec:

find . -type f -name "*.txt" -exec ls -l {} ;

В данном случае плюс заменён на точку с запятой. Дополнительная косая черта означает, что точка с запятой не является специальным символом.

Преимущество сочетания {} заключается в меньшем количестве команд ( ls -l file1 file2 file3), тогда как комбинация {} ; запустит цепочку ls -l file1, ls -l file2 и так далее.

Однако сочетание {} ; даёт возможность использовать {} несколько раз в одном и том же выражении exec. Так, приведённая ниже команда переименует все обнаруженные файлы с расширением .old.

find . -type f -name "*.txt" -exec mv {} {}.old ;

Использование команды xargs


Многие пользователи Linux сталкиваются с необходимостью перенаправления ввода-вывода довольно часто. Но команда exec с цепочкой символов

{}

кажется им слишком сложной.

И тут на помощь приходит xargs. Нужно просто перенаправить вывод команды find в команду xargs через конвейер.

find . -type f -name "*.txt" | xargs ls -l

image

Синтаксис куда проще, верно? К тому же команда xargs тоже весьма эффективна. Подробнее о ней — в статье по ссылке.

Использование скобок для группировки

обучение (java | PHP)


По умолчанию, логическое ИЛИ разбивает поисковый запрос на две части – то, что стоит до этого оператора и то, что стоит после него.

Т.е. запрос

обучение java | PHP

привёл бы к тому, что поисковая система стала бы искать страницы с фразой «обучение java» и страницы с фразой «PHP». Но если нам нужно, чтобы были найдены страницы с фразой «обучение java» и страницы с фразой «обучение PHP», то нам нужно использовать скобки для отделения обязательной части от альтернативной.

Использование точного совпадения для блокировки синонимов

"discount airfare"


Это другая ситуация, когда может помочь точное совпадение. Оно не просто говорит Google найти всю фразу, но также избегает широких совпадений любого рода, включая синонимы.

Как исключить записи из поиска wordpress

Во введении мы говорили вам, что WordPress просматривает записи и страницы и предполагал, что вы не хотите, чтобы страницы отображались в результатах. Но что, если вы не хотите, чтобы сообщения включались в эти результаты? Если это так, вы можете внести одно простое изменение в код и исключить сообщения вместо страниц:

Опять же, вам нужно будет повторить эти 3 простых шага, показанных выше, но с простым изменением строки №3. Вместо того, чтобы устанавливать тип сообщения «страница », вы должны установить его как «сообщения »:

Не забудьте сохранить все, и все готово.

Как исключить из результатов поиска только некоторые страницы / сообщения

Неважно, только одну страницу, две или десять вы хотите исключить из результатов поиска, вы можете легко сделать это, реализовав код. Прежде чем вы поспешно скопируете код в файл functions.php, мы предлагаем вам подготовить страницы, которые не должны отображаться в результатах поиска. Вам понадобятся идентификаторы страниц:

  1. Перейдите в Pages-> All Pages.
  2. Найдите страницу, которую вы хотите исключить, и нажмите «Изменить».
  3. В адресной строке найдите «post = 6» или что-то подобное, где число будет представлять идентификатор страницы.

После того, как вы подготовили идентификационные номера страниц, вы готовы к коду:

  1. Перейдите в файл function.php и откройте его
  2. Скопируйте и вставьте следующий код:
  1. В строке № 3 замените числа в скобках на идентификационные номера, которые вы прочитали со страницы. В этом примере мы исключили 6 страниц с соответствующими идентификаторами от 1 до 6.
  2. Сохраните изменения, и все готово

После того, как вы установили код, вы можете редактировать его по мере необходимости. Если вам понадобится иногда включать одну из страниц в будущем, просто удалите ее идентификационный номер из кода. То же самое касается добавления дополнительных страниц в «исключенную корзину».

Как исключить страницы из поиска wordpress

Хотя нет простого способа указать WordPress исключить тип сообщения из результатов поиска, вам нужно будет сделать это самостоятельно:

  1. Откройте functions.php
  2. Скопируйте и вставьте в файл следующий код:
  1. Сохранить изменения

После того как вы внесли изменения и сохранили их, вы можете посетить свой веб-сайт и протестировать поисковую систему. Если все в порядке, вы не сможете найти какую-либо информацию со своих страниц в результатах поиска, т. Е. Вы успешно исключаете страницы из результатов поиска WordPress.

Команда find в linux

Общий синтаксис команды find выглядит так:

find [directory to search] [options] [expression]

Всё, что в квадратных скобках, указывать необязательно. А значит, выполнить команду find можно вообще без опций и параметров. Она выдаст список всех файлов и папок в текущем расположении. Мало полезного, да?

Так что давайте взглянем на параметры подробнее:


Приведу простой пример:

find . -type f -name myfile

Такая команда выполнит поиск файла (именно файла, не папки) с именем

myfile

в текущей папке и подпапках. Опция

-type f

сужает поиск до файлов. Точка (

.

) указывает на текущую папку.

Рассмотрим несколько примеров применения команды find.

Лучшие поисковые плагины для wordpress

Благодаря разнообразию плагинов WordPress вам не стоит беспокоиться об изменении функции поиска. Существует множество отличных плагинов, которые расширят ваши возможности поиска, и вы с гордостью представите свое окно поиска на своем сайте.

Если вы все сделаете правильно, пользователи, скорее всего, будут вводить то, что они хотят, в ваше новое окно поиска и получать ожидаемые результаты. Теперь давайте посмотрим на некоторые из лучших поисковых плагинов WordPress, которые вы можете установить за считанные минуты.

Определите категории для результатов поиска wordpress

По умолчанию WordPress ищет все на вашем сайте. Если пользователь вводит слово или всю фразу в поле поиска, он будет получать результаты со всего веб-сайта, включая сообщения, страницы, категории и теги, заголовки и контент и т.д. Если вы не установили какую-либо другую поисковую систему, или уже внесли изменения, вы можете изменить поле поиска по умолчанию.

Если вы хотите изменить поле поиска, которое уже существует в вашем WordPress, и определить категории, которые будут включены в страницы результатов, вы можете использовать немного другой подход.

В этой части мы собираемся показать вам, как это сделать. Вы можете легко добавлять или удалять категории из кода и решать, какая из них вам (не) нужна в результатах поиска.

Особенности поиска в яндекс

Предыдущая статья была посвящена тонкостям поиска в Google. Поисковая система Яндекс тоже имеет расширенные возможности поиска и продвинутые операторы. У Яндекс очень хороший охват русскоязычных сайтов, поэтому если целевой сайт на русском языке, то на этапе сбора информации имеет смысл воспользоваться также и Яндексом.


Синтаксис запросов в Яндекс отличается от Google: операторы называются по-другому и логика их работы отличается, аналоги каких-то гугловских операторов отсутствуют вовсе, а какие-то, напротив, являются уникальными только для Яндекса.

Пожалуй, главным отличием поиска Яндекса является свой собственный индекс, с огромным охватом сайтов на русском языке. А также свои собственные алгоритмы определения релевантности (насколько страница соответствует поисковому запросу) и ранжирования (как высоко в результатах поисковой выдачи должна находиться страница).

И хотя операторы поиска в Яндекс работают иначе чем в Google, они довольно гибкие для составления в том числе и сложных запросов по нескольким критериям. Я покажу несколько примеров Яндекс-дорков, с помощью которых можно найти пароли и другую очень интересную для пентестера информацию.

Итак, давайте познакомимся с продвинутыми приёмами поиска Яндекс, которые в любом случае пригодятся всем, кто что-то ищет в Интернете (то есть всем) – даже если вы не занимаетесь расследованиями на основе открытых источников.

Отключение рекурсивного поиска для поиска только в текущей папке


По умолчанию команда find выполняет поиск во всех подпапках текущего расположения. Если это не требуется, можно ограничить глубину поиска значением «1». Так вы ограничитесь поиском в текущей папке, не залезая в подпапки.

find . -maxdepth 1 -type f -name "*.txt"

image

Поиск swiftype

Этот современный плагин уже используется многими популярными веб-сайтами, которые признали его силу. Swiftype не только предлагает один из лучших поисковых алгоритмов, который даст вам значимые результаты, но и дает вам подробное представление обо всех поисках, выполненных на вашем сайте.

Плагин заменит стандартный поиск WordPress, и как только вы создадите бесплатную учетную запись, вы сможете настроить Swiftype так, чтобы она была максимально удобной для вашего сайта. Если у вас есть мобильное приложение, которое отображает контент из вашего блога, вы можете помочь своим мобильным посетителям искать контент еще проще с помощью мобильного SDK.

  • Интерфейс перетаскивания
  • Автозаполнение
  • Детальная аналитика

Поиск без учёта регистра


Команда find по умолчанию учитывает регистр. Чтобы выполнить поиск по имени файла без учёта регистра, надо ввести опцию

-iname

вместо

-name

find . -type f -iname SEARCH_NAME

С поиском по папкам (

type -d

) это тоже работает.

abhishek@LHB:~/Examples$ find -iname mystuff
./new/mystuff
./MyStuff
./mystuff


Скриншот последних трёх примеров:

Поиск всех ключевых слов в тексте

allintext: orbi eero google wifi

Что если вы хотите найти набор слов, но они не обязательно должны быть фразой с точным совпадением? Вы можете использовать отдельный для каждого слова оператор “intext:” или использовать “allintext:”, который говорит Google применить “intext:” ко всем словам, следующим за оператором.

Все результаты будут иметь целевые слова в тексте тела, в различной комбинации или порядке. Будьте очень осторожны со смешиванием “allintext:” (или любых других операторов вида “allin…:”) с другими командами, иначе вы можете получить неожиданные результаты. Оператор “allintext:” будет пытаться автоматически обработать всё, что следует после него.

Поиск документов с паролями

(filetype:xls OR filetype:xlsx) inurl:password


Обратите внимание, что используется логическое ИЛИ – OR, а также скобки. Таким образом, ищутся файлы с расширением xls или xlsx, которые в адресе файла содержат слово password.

Можно поискать в файлах различных типов:

(filetype:odt OR filetype:doc OR filetype:docx) inurl:password

Поиск ключей входа SSH

Брут-форс, уязвимости, социальная инженерия? Хватит мучиться! Просто бери ключи от сервера:

intitle:"Index of" id_dsa


Поиск веб-камер

Продавайте телевизор – если вам захочется что-то посмотреть, вы надолго сможете себя занять. Количество камер доступных для свободного доступа очень велико. Также очень велико количество дорков для их поиска. Всего несколько примеров:

  • inurl:/view/viewer_index.shtml
  • inurl:jpegpull.htm
  • inurl:”mjpg/video.cgi?resolution=”
  • inurl:control/camerainfo
  • intitle:”webcamXP 5″ -download
  • inurl:/mjpg/video.mjpg

Поиск документов, в которых отсутствует заданное слово

лечение аппендицита -самостоятельно

При поиске по фразе из нескольких слов, вы можете указать те слова, которые не должны встречаться на найденных страницах. Т.е. в результатах поиска будут те документы, на которых есть искомая раза, но без нежелательного слова.

В качестве оператора отрицания используется знак минус (-). Исключается только слово, перед которым стоит оператор. При этом исключаемое слово должно размещаться в конце поискового запроса.


Допустимо использовать несколько операторов минус (-) в одном запросе.

Видимо, минус работает только со словами для поиска, но не работает с операторами, которые будут рассмотрены далее.

Поиск крупных и мелких файлов (поиск по размеру файла)

Команда find поможет найти крупные или мелкие файлы, если выполнить поиск по размеру. Но это работает только для файлов, не для папок.

Используется опция -size с аргументом N для файлов размером более N и -N для файлов размером менее N.

А вот как можно найти файлы точного заданного размера (50 КБ):

find . -size 50k

Так выполняется поиск файлов размером более 1 ГБ в текущей папке:

find . -size  1G

А так — файлов, не превышающих 20 байт:

find . -size -20c


Для поиска файлов размером более 100 МБ, но менее 2ГБ, введите:

find . -size  100M -size -2G

Поиск по размеру тоже можно сочетать с поиском по имени файла. Таким образом, найти в корневом каталоге все файлы размером более 500 МБ с именем, оканчивающимся на .log, можно так:

find / -size  500M -name "*.log"

Для справки:

Поиск недавно изменённых файлов (поиск по времени изменения или создания)


Вы ведь знакомы с

Вы не раз столкнётесь с ситуацией, когда нужен список всех недавно изменённых файлов. В таких случаях на помощь приходит поиск по времени изменения.

Найти все файлы, претерпевшие изменения за последние трое суток (3*24ч), можно так:

find . -type f -mtime -3


А все файлы, созданные пять и более дней назад, ищутся так:

find . -type f -ctime  5

Понимаю, что 24 часа — большой срок. Что если нужно выявить файлы, изменённые всего пару минут назад? Для этого предусмотрены опции

mminamincmin

Так выглядит команда поиска всех файлов, изменённых за последние пять минут:

find . -type f -mmin -5

image

Можно не только указать имя файла, но и ограничить временной промежуток с двух сторон. Команда ниже выполнит поиск всех файлов .java, изменённых не ранее 30 и не позднее 20 минут назад.

find . -type f -mmin  20 -mmin -30 -name "*.java"

Поиск нескольких слов в тексте анкора

allinanchor: tesla announcements "model x"

Как и все другие вариации “allin…”, “allinanchor:” применяется к каждому слову после него, выполняя поиск всех этих слов в тексте анкора, но не как точное соответствие.

Поиск нескольких файлов с несколькими расширениями (или условием)

Команда, рассмотренная выше, нужна для поиска файлов по расширению. А что если нужно найти файлы с несколькими разными расширениями?

Вместо того чтобы прогонять команду find несколько раз, введите её один раз с опцией -o, которая работает как логическое условие «или»:

find . -type f -name "*.cpp" -o -name "*.txt" 


Например:

abhishek@LHB:~/Examples$ find . -type f -name "*.txt" -o -name "*.cpp"
./new.txt
./file.cpp
./new/new.txt
./new/dir2/another.txt
./new/dir1/new.txt
./another.txt

Поиск паролей подключения к базам данных

filetype:inc intext:mysql_connect

В этом примере мы ищем файлы с расширением .inc. Это частое название файлов для инклуда (включения) в код. В этих файлах мы ищем текст mysql_connect – код подключения к базе данных. Т.е. мы ищем файлы с исходным кодом, в которых присутствует подключение к СУБД, требующее пароль. Соответственно, мы можем найти файлы с паролями системы управления базами данных MySQL.

Подключиться к MySQL можно разными способами – даже в PHP есть несколько расширений для этого. Поэтому возможно много разных вариантов, например:

filetype:inc intext:"new mysqli"

или

filetype:inc intext:"mysqli_init();"

или

filetype:inc intext:"= new PDO("

 или

filetype:inc intext:"->db_connect();"


Поиск конфигурационных файлов:

intext:DB_PASSWORD filetype:env

Также следует поэкспериментировать с типом файла: попробуйте .txt, .php и так далее.

Поиск по дате и диапазону дат

А вот в этом поиск Яндекса точно обогнал Google – у Гугла очень невнятный поиск по датам изменения документа, практически, можно сказать что его нет, т.к. результаты странные.

Вы можете выполнять поиск по страницам с ограничением по дате их последнего изменения.

Варианты поиска по дате

Изменение страницы соответствует указанной дате:

date:ГГГГММДД

Изменение страницы находится в интервале:

date:ГГГГММДД..ГГГГММДД

Изменение страницы находится до или после указанной даты (<, <=, >, >=):

date:<ГГГГММДД


Дата изменения страницы указана частично:

date:ГГГГ**

Примечание. Год изменения указывается обязательно. Месяц и день можно заменить символом *.

Примеры, в которых ищется слово «фестиваль» в документах, для которых дата изменения соответствует 10.10.2022:

фестиваль date:20221010


Дата изменения находится в интервале между 10.10.2022 и 10.11.2022 включительно:

фестиваль date:20221010..20221110

Дата изменения позднее 10.11.2022:

фестиваль date:>20221110

Дата изменения соответствует 2022 году:

фестиваль date:2022**

Поиск по доменам


Синтаксис:

domain:домен

Обратите внимание, что домен может быть любого уровня. То есть можно указать домен верхнего уровня, такой как ru, net, org, name, com и т. д. Можно указать домен второго уровня, например, hackware, zalinux, yandex, google и т. д. Также можно указать домен любого другого уровня.

Пример поиска по домену верхнего уровня:

information security labs domain:edu

Будет найдена фраза «information security labs» только на сайтах доменной зоны edu.


Поиск по домену других уровней. Этот вариант будет искать любые домены второго и другого уровней с именем hackware на которых встречается слово «уязвимости»:

уязвимости domain:hackware

Будет выполнен поиск по доменом верхнего уровня tools и других уровней с этим же названием:

sqli domain:tools

Поиск по нескольким url атрибутам

allinurl: amazon field-keywords nikon

Так же как “allintitle:” и “allintext:” имеется оператор “allinurl:”. В этом примере вы ищите внутренние страницы поиска на Amazon, которые имеют слово “Nikon” в URL:

К сожалению “allinurl:” страдает от двух проблем. Одна в том, что вы не можете надёжно совместить его с “site:”, что ограничивает ваши опции. Вторая – он склонен возвращать странные результаты. В большинстве случаев рекомендуется вместо него использовать несколько “inurl:”.

Поиск по одному слову

Пример поискового запроса

обучение

Значение

Будет выполнен поиск по приведённому слову «обучение». При этом ищется не обязательно точное совпадение – в результатах могут быть слова в другом падеже, числе и так далее. Могут найтись веб-страницы, содержащие не искомое слово, а его синонимы.

Поиск по определённому диапазону дат

tesla announcements daterange:2458272-2458302

Если вы хотите сузить поиск до конкретного диапазона дат, то для этого есть оператор “daterange:”, который, в теории, позволяет указать даты публикации.

К сожалению, в обычных органических результатах даты публикации не всегда точные, и на практике “daterange:” возвращает довольно странные результаты. Ещё вы могли обратить внимание, что используется довольно странный формат даты. Оператор “daterange:” используют Юлианский формат даты.

Поиск по страницам на заданном языке

Синтаксис:

lang:язык

Поддержижваются языки:

  • русский (ru)
  • украинский (uk)
  • белорусский (be)
  • английский (en)
  • французский (fr)
  • немецкий (de)
  • казахский (kk)
  • татарский (tt)
  • турецкий (tr)

Пример:

passport lang:en


Будут найдены документы на английском языке, содержащие слово «passport».

Поиск по страницам, размещенным на данном хосте

Синтаксис:

host:имя хоста в формате www.домен второго уровня.домен верхнего уровня

Идентичен оператору url: с заданным именем хоста.


Пример:

sqli host:tools.kali.org

Будут найдены документы, содержащие слово «sqli» и размещенные на хосте tools.kali.org (один из поддоменов сайта kali.org).

Другой вариант поиска страниц на определённому субдомене – это использование оператоора rhost:

Идентичен оператору host:, но имя хоста записывается в обратном порядке: сначала домен верхнего уровня, затем домен второго уровня и т. д.


Для поиска по всем поддоменам заданного домена в конце URL поставьте символ *.

Синтаксис:

rhost:имя хоста в формате домен верхнего уровня.домен второго уровня.www

Вариант с подстановочным символом:

rhost:имя хоста в формате домен верхнего уровня.домен второго уровня.*

Пример, вывод всех страниц поддомена tools.kali.org:

rhost:org.kali.tools


Показать все страницы любых субдоменов kali.org, начинающихся на букву a:

rhost:org.kali.a*

Поиск по страницам, размещенным по заданному адресу (url)

Для поиска по определённому адресу страницы используется оператор url: со следующим синтаксисом:

url:полный URL

или:

url:имя хоста/папка/*


Регистр букв в адресе не учитывается.

Чтобы найти все документы, адреса которых начинаются с заданного значения, поставьте в конце URL символ *.

URL в запросе следует заключить в кавычки, если он содержит один из следующих символов:


Обратите внимание, что запрос:

Поиск по типу файлов

Синтаксис:

mime:тип файла

Поиск по документам в заданном типе файла. Поддерживаются следующие типы файлов:

  • doc
  • docx
  • html
  • odg
  • odp
  • ods
  • odt
  • pdf
  • ppt
  • pptx
  • rtf
  • swf
  • xls
  • xlsx


Пример:

анкета загранпаспорт mime:doc

Будут найдены документы в формате doc, содержащие слова «анкета» и «загранпаспорт».

Можно указать сразу несколько расширений для поиска, но обязательно объедините их логическим ИЛИ (|):

Поиск по точной форме слова


Мы уже рассмотрели этот вопрос – если фраза для поиска помещена в кавычки, то на страницах ищется точное соответствие. В противном случае ищутся все формы и синонимы слов.

Если вы хотите искать по точным формам слов, но вам не важен их порядок и слова не обязательно должны составлять одну фразу, то, по идее, каждое слово можно поместить в кавычки. Ещё один вариант – это отредактировать URI. Если там wordforms=all, то выполняется поиск по всем формам, а если wordforms=exact – то ищутся точные совпадения.

Поиск по файлам определённого типа

"информационная безопасность" filetype:pdf

Оператор “filetype:” позволяет указать расширение файла, например, PDF. В предыдущем примере нас интересуют поиск PDF файлов, содержащие точную фразу “информационная безопасность”.

Оператор “filetype:” позволяет указывать различные типы файлов. Вы можете также попробовать “doc”, “docx”, “rtf” (Word), “xls”, “xlsx” (Excel), “ppt”, “pptx” (PowerPoint), и “txt” (текстовые файлы). Ещё можно использовать “filetype:” для указания определённых вариантов веб-страниц, включая “html”, “htm”, “php”, “asp” и т.д.

Поиск по широкому диапазону дат

tesla announcement 2022..2022

Если вам не нужна особая точность в диапазоне дат, используйте оператор диапазона .. (двоеточие) с годами. Годы, как правило, достаточно уникальны, чтобы результаты были довольно релевантными.

Обратите внимание, что это не специальный поиск по дате, это что-то вроде хитрости. К сожалению, оператор диапазона не всегда правильно работает в паре с “inurl:” и другими продвинутыми операторами.

Поиск пустых файлов и папок


Опция

-empty

позволяет использовать команду find для поиска пустых файлов и папок.

Найти таковые в текущей папке можно следующим образом:

find . -empty

Можно указать тип объектов, чтобы искать только файлы или только папки:

find . -empty -type f


Кроме того, можно в таком режиме искать файлы по имени:

find . -empty -type f -name "*.cpp"

image

Поиск слова в заданной форме

Если вы не хотите, чтобы при поиске использовались различные формы слова либо его синонимы, то перед этим словом поставьте восклицательный знак (!):

!недорогие авиабилеты

Допустимо использовать несколько операторов ! в рамках одного запроса.

На самом деле, результаты поиска по-прежнему содержат документы с синонимами – возможно, этот оператор работает не всегда или влияют другие факторы.

Поиск стоящих рядом точно совпадающих фраз

"nikola tesla" AROUND(2) "thomas alva edison"


Вы можете искать по точно совпадающим фразам, стоящим в пределах определённого диапазона. Для этого комбинируйте AROUND(X) с точно совпадающими фразами (в кавычках).

AROUND(X) только работает с элементами немедленно стоящими перед или после этого оператора, поэтому осторожно используйте его когда комбинируете с другими операторами или фразами, которые не являются точным совпадением.

Обратите внимание, что AROUND(0) возвращает странные результаты – если вы хотите получить список только тех страниц, где два слова стоят вместе, используйте вместо него точное совпадение фразы (кавычки).

Поиск только по тексту страницы

Вторичные факторы релевантности

Если вы ищите точную фразу, которая не найдена ни на одной странице, либо результатов слишком мало, Google может показать результаты исходя из вторичного фактора релевантности. Пример: показ странице, которая не содержит искомый текст, но на который ссылается исходящая ссылка с соответствующим анкорным текстом.

В таких редких случаях вы можете использовать оператор “intext:”. Это приводит к тому, что гугл ищет текст в теле документа (то, что внутри HTML тега body).

intext:"orbi vs eero vs google wifi"

Поиск только файлов или только папок


Если нужно искать только файлы, на помощь придёт опция type -f:

find . -type f -name SEARCH_NAME

Тип и имя можно указывать в любом порядке. Возьмём пример выше и ограничим круг поиска файлами:

abhishek@LHB:~/Examples$ find -type f -name mystuff
./mystuff

Если нужно найти папку, укажите тип type -d:

find . -type d -name SEARCH_NAME

Вот пример нашего поиска уже по папкам:

abhishek@LHB:~/Examples$ find -type d -name mystuff
./new/mystuff

Поиск файлов в заданной папке


Все приведённые примеры иллюстрируют поиск в текущей папке, потому что команда включает в себя точку (

.

Чтобы выполнить поиск в заданной папке, не покидая текущего расположения, можно заменить точку абсолютным или относительным путём к нужной папке.

abhishek@LHB:~/Examples$ find ./new -name mystuff
./new/mystuff

Поиск файлов по расширению

На сайтах могут быть забыты самые разные файлы. Причём не редки случаи, когда папки сайта могут использоваться для обмена файлами, совместного доступа к файлам. Некоторые папки могут быть частью локальной сети и не предназначены для открытого доступа, но случайно попадают в индекс, т.к. Гугл сканирует хосты в том числе по IP адресам.

Про поиск файлов с различным расширением мы ещё вернёмся позже. Ниже один из примеров поиска файлов с расширением .mdb (Microsoft Access database) на конкретном сайте:

Поиск файлов по расширению (важно)


Одно из самых популярных применений команды find — поиск файлов определённого типа, то есть по заданному расширению.

Скажем, вы хотите найти все файлы С в текущих папках. Файлы С имеют расширение .cpp, и вот как их можно найти:

find . -type f -name "*.cpp"

С такими опциями команда find найдёт только файлы (

-type f

) с именами, оканчивающимися на

.cpp

Поиск файлов с определёнными настройками доступа


Надеюсь, вы имеете представление о

Команда find позволяет выполнить поиск файлов по разрешению и режиму доступа.

find -perm mode

Поищем в текущей папке, к примеру, все файлы с режимом доступа 777:

find . -perm 777

А так можно найти все файлы с правами на чтение и запись для всех типов пользователей (только точное совпадение; файлы с правами на выполнение для всех не отобразятся):

find . -perm a=r w

Поиск хостов на определённых портах


С помощью inurl: вы можете искать сайты, хосты, использующие определённые порты. Чтобы сократить количество ложных результатов, можно указывать имя службы на этом порту:

inurl:10000 webmin

Более точные результаты можно получить используя inurl: в паре с отрицанием поиска по тексту -intext:

inurl:8080 -intext:8080

Пример – поиск роутеров D-Link:

inurl:8080 intitle:"D-LINK SYSTEMS"

Продвинутые операторы

Уточнить поисковый запрос можно с помощью данных, относящихся к служебной информации о страницах. Например, можно ограничить поиск по:

  • типу файла
  • хосту
  • URL
  • языку страницы
  • дате


Синтаксис для уточнения поиска по данным параметрам называется «документные операторы».

Документный оператор рекомендуется указывать после текста поискового запроса и отделять от него пробелом. В одном запросе одновременно можно использовать несколько операторов, так же разделяя их пробелом. Например,

Разрешите посетителям выбрать категорию для поиска:

Следуя тому же примеру, где у вас есть такие категории, как смартфоны, настольные компьютеры, ноутбуки, бытовая техника и т.д., Почему бы вам не позволить посетителю выбрать одну из этих категорий и, например, искать только по категории «ноутбуки»?

В следующих строках мы покажем вам, как это сделать:

  1. Откройте sidebar.php или там, где вы хотите, чтобы появилось окно поиска.
  2. Скопируйте и вставьте код:
  1. Измените категории под значениями опций. Напишите название категории в значении и имени между тегами
  2. Сохранить изменения

Разрешить использование голосового поиска в wordpress

После того, как смартфоны стали важной частью нашей жизни, голосовой поиск стал быстро улучшаться. Хотя это никогда не бывает идеально, поиск чего-либо на вашем смартфоне значительно упростил задачу, например, позвонить человеку. Да, вы все равно должны быть очень осторожны с произношением, потому что вы можете в конечном итоге позвонить кому-то, кого не хотите, или ваша речь может превратиться в что-то даже не близкое к тому, что вы только что сказали. Кроме того, всегда весело задавать Сири глупые вопросы, верно?

Неважно, нравится вам это или нет, многие люди используют функцию голосового поиска на своих телефонах. Так почему бы вам не позволить посетителям выполнять поиск по вашему сайту таким же образом?

Возможно, вы не знали, что можете сделать это с помощью WordPress, или не знали, как это сделать, но теперь у вас не будет оправдания.

Вместо кода вот плагин, который расширит ваш поиск в WordPress.

Совпадение в общих чертах, использование подстановочного символа

tesla -motors “rock * roll”

Если вы хотите больше узнать об ансамбле с именем tesla, но вам не важно, как именно пишется “rock-n-roll”, “rock and roll”, “rock & roll” или как-то ещё, то вы можете использовать звёздочку (*), которая является подстановочным символом для любого единичного слова.

Подстановочные символы ведут себя более предсказуемо внутри точно совпадающей фразы (при использовании кавычек), позволяя вам найти примерно совпадающее, когда вы не можете свести ваш поисковый запрос к одной фразе. Подстановочный символ (*) работает только на уровне слов. При поиске в Google нет подстановочного символа, который обозначал бы любой единичный символ.

Сочетание команд find и grep


Теперь вы умеете совмещать команду find с xargs и exec, и пора перейти на следующий уровень — объединить find и grep.

Для сисадминов и разработчиков комбинация команд find и grep — одна из самых распространённых и вместе с тем самых полезных.

Команда find находит файлы с именем, соответствующим шаблону, а затем команда grep выполняет поиск по их содержимому.

Например, вам нужно найти все файлы .txt, в которых есть имя «Alice». Объединить команды find и grep можно так:

find . -type f -name "*.txt" -exec grep -i alice {}  

А можно с помощью xargs:

find . -type f -name "*.txt" | xargs grep -i alice

image

Конечно, пример элементарный, но если команда grep вам знакома, можете использовать её на своё усмотрение.

Точное совпадение одного слова

недорогой "перелёт"

На первый взгляд это может показаться лишним, но вы можете применить точное совпадение для одного слова. В этом случае Google не будет возвращать результаты с синонимами только для одного слова.

То есть слово «недорогой» Google будет искать в разных формах (например, «недорогие», «недорогую», «дешёвый»), но все результаты принудительно будут иметь слово «перелёт» именно в этой форме, без «перелёты», «авиабилеты» и т.д.). Используйте точное совпадение одного слова когда вы хотите исключить варианты этого слова.

Улучшите функцию поиска и находите результаты в категории

Функция поиска по умолчанию в WordPress становится все лучше и лучше с каждым обновлением. Вы можете легко включить функцию поиска в свой блог и позволить людям легко находить нужный контент. Но если вы не внесли никаких изменений в функцию, в результатах поиска будет отображаться все, что связано с запросом.

В этой части статьи мы покажем вам, как разрешить вашим посетителям выполнять поиск только в определенных категориях, которые вы можете определить в коде или разрешить посетителям выбирать их из раскрывающегося списка.

Подведение итогов

Если у вас нет простого веб-сайта с брошюрой или чего-либо подобного, вам просто нужно иметь функциональную функцию поиска, встроенную в ваш веб-сайт WordPress. Если это блог, который регулярно обновляется, нет никаких оправданий.

В этом руководстве мы показали вам, как изменить функцию поиска WordPress по умолчанию. Если вам это не нравится, есть несколько плагинов, которые могут заменить стандартную функцию поиска за считанные минуты. Независимо от вашего выбора, сделайте свой сайт WordPress лучше, улучшив функцию поиска.

Как ограничить вывод свойств умного фильтра в компоненте поиска search.page?

Хм..в общем ответ нашел сам. Может кому в будущем пригодится. Суть в том что необходимо немного переписать компонент умного фильтра. Для начала ID результатов поиска заносим в глобальную переменную $GLOBALS[“arIdst”]. Далее редактируем файл component.php в catalog.smat.filter(естественно, сначала переместить компонент в свою папку дабы не затерся при обновлении). Находим такую строчку

$rsElements = CIBlockElement::GetPropertyValues($this->IBLOCK_ID, $arElementFilter, false, array(‘ID’ => $this->arResult[“PROPERTY_ID_LIST”]));

У меня это 127 строка. и вместо $arElementFilter указываем $GLOBALS[“arIdst”] , т.е. строка примет вид

$rsElements = CIBlockElement::GetPropertyValues($this->IBLOCK_ID, $GLOBALS[“arIdst”], false, array(‘ID’ => $this->arResult[“PROPERTY_ID_LIST”]));

Аналогично делаем для цены

$rsElements = CIBlockElement::GetList(array(), $arElementFilter, false, false, $arSelect); (227 строка) заменяем на

$rsElements = CIBlockElement::GetList(array(), $GLOBALS[“arIdst”], false, false, $arSelect);

Оцените статью
Huawei Devices
Добавить комментарий