Как исправить ошибку при использовании команды grep на сервере?

Как можно использовать grep для поиска с корня системы, чтобы он продолжал поиск в других каталогах, если не нашел совпадения в папке var?
Изображение к вопросу
  • 27 декабря 2023 г. 10:07
Ответы на вопрос 3
Чтобы исправить ошибку при использовании команды grep на сервере, необходимо определить, какая именно ошибка возникает. Обычно ошибка может быть связана с неверным синтаксисом команды или неправильным путем к файлу или папке. Вот несколько шагов, которые можно предпринять для исправления ошибки:

1. Убедитесь, что вы используете правильный синтаксис команды grep. Возможно, вы забыли указать флаги или аргументы, которые требуются для выполнения поиска.

2. Проверьте права доступа к файлам или папкам, которые вы пытаетесь просмотреть с помощью grep. Убедитесь, что у вас есть достаточные права для чтения этих файлов или папок.

3. Если поиск не дает результатов в папке var, попробуйте использовать полный путь к папке, в которой вы хотите выполнить поиск. Например, вместо использования команды "grep pattern var" попробуйте использовать "grep pattern /var".

Чтобы использовать grep для поиска с корня системы и продолжать поиск в других каталогах, если совпадения не найдены в папке var, можно использовать команду find совместно с grep. Ниже приведен пример использования:

find / -type f -exec grep "pattern" {} \; 2>/dev/null

В этом примере команда find будет рекурсивно искать файлы ("/ -type f") начиная с корня системы ("/"). Затем каждый найденный файл будет передан команде grep ("-exec grep "pattern" {} \;"), которая выполнит поиск заданного образца. Флаг "-exec" указывает find на выполнение команды grep для каждого найденного файла. "2>/dev/null" используется для перенаправления ошибок в специальное устройство "/dev/null".

Обратите внимание, что поиск файлов с корня системы может занять некоторое время и может потребоваться выполнение команды с правами администратора или суперпользователя.
С чего ты взял что он "не идет дальше" ? 
По твоему скрину можно сделать вывод что grep продолжил работать.

Подожди пока он отработает, это бывает не быстро.
grep -R "Вечность" /dev/urandom 
grep, начиная с корня системы

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