Системный Администратор | Sysadmin Windows & Linux Server. Настройка Сети, ПК и Железа. IT Уроки для Сисадмина: Безопасность, Софт и Техподдержка (Helpdesk). Компьютерная помощь.
IT и технологии · 23 октября 2026 г.
🧰 GREP в Linux: шпаргалка
🧰 GREP в Linux: шпаргалка 🔹 Синтаксис grep [ОПЦИИ] 'ШАБЛОН' [ФАЙЛ...] команда | grep [ОПЦИИ] 'ШАБЛОН' ⚙️ Топ-опции (must-have) -i - без учёта регистра -n - номер строки -H - печатать имя файла -r / -R - рекурсивно по каталогам (-R следует по symlink) -l - только имена файлов с совпадениями -L - файлы без совпадений -v - инверсия (показать НЕ совпавшие строки) -c - количество совпадений (строк) -o - вывести только совпавшую часть -w - совпадение целого слова -x - совпадение всей строки целиком --color=auto - подсветка 🧠 Контекст вокруг совпадения -A 5 - 5 строк после -B 5 - 5 строк до -C 5 - 5 строк вокруг grep -nC 2 'error' /var/log/syslog 🧵 Несколько шаблонов -e - несколько выражений -f patterns.txt - шаблоны из файла grep -E -e 'error' -e 'warn' app.log grep -f patterns.txt app.log 🔤 Режимы регулярных выражений 🩵BRE (по умолчанию): grep 'a\{2\}' 🩵ERE: grep -E 'a{2,}' (удобнее) 🩵PCRE: grep -P '(?<=id=)\d+' (lookbehind и т.п.) 🧩 Мини-шпаргалка по regex Якоря и позиции 🩵 ^ начало строки, $ конец строки 🩵 \< начало слова, \> конец слова (в GNU grep часто работает) Квантификаторы 🩵 ? 0 или 1 🩵 * 0+ 🩵 + 1+ (в ERE/PCRE) 🩵 {n}, {n,}, {n,m} Классы 🩵 . любой символ кроме \n 🩵 [0-9], [A-Za-z], [^...] (не из набора) 🩵 POSIX: [[:digit:]] [[:alpha:]] [[:alnum:]] [[:space:]] 🧪 Практика: логи и инциденты Ошибки/варнинги grep -iE 'error|warn|fatal' /var/log/syslog Сервис по systemd-журналу journalctl -u nginx --no-pager | grep -i 'error' Кто ломится по SSH (auth.log) grep -i 'failed password' /var/log/auth.log | tail Найти IP в логе grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' access.log | sort -u 📁 Поиск в конфиге Рекурсивно, исключая мусор grep -RIn --exclude-dir={.git,node_modules} --exclude='*.min.*' 'listen' /etc/nginx Показать строки, где параметр закомментирован/не закомментирован grep -nE '^\s*#?\s*PermitRootLogin' /etc/ssh/sshd_config 🧨 Трюки: grep + find Только по *.conf find /etc -name '*.conf' -print0 | xargs -0 grep -nH 'timeout' Большие файлы — быстрее LC_ALL=C grep -n 'pattern' big.log ✅ Быстрые проверки (exit code) 🩵 0 - найдено 🩵 1 - не найдено 🩵 2 - ошибка grep -q 'pattern' file && echo OK || echo NO 👉 @i_odmin