Конвейеры, перенаправление и скрипты
35 мин
Перенаправление
cmd > file # записать stdout в файл (перезаписать)
cmd >> file # дописать в конец
cmd 2> errors # записать stderr
cmd 2>/dev/null # выбросить ошибки
Конвейеры
Конвейер | передаёт вывод одной команды на вход следующей. Маленькие инструменты, собранные вместе:
cat access.log | cut -d' ' -f1 | sort | uniq -c | sort -rn | head -5
| Инструмент | Назначение |
|---|---|
grep | оставить строки, подходящие под шаблон |
cut -d' ' -f1 | вырезать поля |
sort, sort -u, sort -rn | сортировка, уникальные, по убыванию чисел |
uniq -c | посчитать подряд идущие повторы |
wc -l | посчитать строки |
head, tail | первые/последние строки |
Именно так аналитики разбирают журналы во время инцидента.
Ваш первый скрипт
#!/bin/bash
# count404.sh — сколько запросов вернули 404
grep " 404 " "$HOME/data/access.log" | wc -l
Затем chmod +x count404.sh и запуск ./count404.sh.
🧪 Практика
Проанализируйте журнал веб-сервера, найдите сканер и автоматизируйте анализ скриптом.