Bash snippets для Linux: полезные команды для сервера Debian, Ubuntu
Bash snippets — это небольшие готовые фрагменты shell-кода, которые помогают быстрее работать с Linux-сервером, автоматизировать рутину и не вводить длинные команды вручную каждый раз.
Обычно snippets используют системные администраторы, DevOps-инженеры, backend-разработчики и веб-разработчики, которые регулярно работают с Debian, Ubuntu, Nginx, Docker, Git, PHP и логами серверов.
Со временем у каждого появляется собственная коллекция bash-команд:
- для проверки логов;
- для перезапуска сервисов;
- для резервного копирования;
- для очистки системы;
- для анализа нагрузки;
- для поиска ошибок.
В этой статье разберём полезные bash snippets, которые реально экономят время при работе с Linux.
Что такое Bash snippets
Bash snippet — это короткий shell-скрипт или команда, решающая конкретную задачу.
Например:
tail -f /var/log/nginx/error.log
Это уже snippet — готовая команда для просмотра ошибок Nginx в реальном времени.
А вот более сложный пример:
du -sh * | sort -hr | head
Команда показывает самые большие директории в текущей папке.
Такие snippets обычно:
- сохраняют в заметки;
- добавляют в aliases;
- хранят в Git-репозитории;
- используют через shell history;
- собирают в отдельные bash-файлы.
В своих проектах я использую серверную инфраструктуру Timeweb
Хостинг, VPS и облачные решения для стабильной работы сайтов на PHP и 1С-Битрикс — от корпоративных сайтов до интернет-магазинов и высоконагруженных веб-проектов.
Перейти на TimewebПолезные snippets для работы с логами
Просмотр логов Nginx в реальном времени
tail -f /var/log/nginx/access.log
Или ошибок:
tail -f /var/log/nginx/error.log
Показать только ошибки 500
grep ' 500 ' /var/log/nginx/access.log
Показать самые активные IP
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
Очень полезно для поиска ботов, сканеров и DDoS-активности.
Следить только за запросами к PHP
tail -f /var/log/nginx/access.log | grep ".php"
Snippets для мониторинга сервера
Проверка загрузки сервера
htop
Если htop не установлен:
sudo apt install htop -y
Использование памяти
free -h
Самые тяжёлые процессы
ps aux --sort=-%mem | head
Свободное место на диске
df -h
Самые большие директории
du -sh /var/* | sort -hr
Snippets для Nginx
Проверка конфигурации
sudo nginx -t
Перезагрузка Nginx без остановки
sudo systemctl reload nginx
Быстрый поиск ошибок в конфиге
nginx -t 2>&1 | grep failed
Показать все server_name
grep -R "server_name" /etc/nginx/sites-enabled/
Показать все редиректы
grep -R "return 301" /etc/nginx/
Snippets для Git
Короткий статус репозитория
git status --short
Обновить проект
git pull origin main
История коммитов одной строкой
git log --oneline --graph
Посмотреть изменённые файлы
git diff --name-only
Snippets для Docker
Список контейнеров
docker ps
Логи контейнера
docker logs -f container_name
Очистка неиспользуемых ресурсов
docker system prune -a
Использовать осторожно — команда удаляет неиспользуемые образы и контейнеры.
Перезапуск контейнера
docker restart container_name
Snippets для работы с файлами
Найти большие файлы
find / -type f -size +500M
Удалить файлы старше 30 дней
find /backup -type f -mtime +30 -delete
Быстрый поиск текста в файлах
grep -R "database_password" /var/www/
Создать архив
tar -czf backup.tar.gz /var/www/site
Aliases — следующий уровень snippets
Часто используемые snippets удобно превращать в aliases.
Например:
nano ~/.bashrc
Добавляем:
alias logs='tail -f /var/log/nginx/error.log'
alias ll='ls -la'
alias reloadnginx='sudo systemctl reload nginx'
Применяем изменения:
source ~/.bashrc
Теперь вместо длинной команды можно писать:
logs
Собственная библиотека snippets
Хорошая практика — хранить свои snippets отдельно.
Например:
~/scripts/
~/bash-snippets/
~/dev-tools/
Или даже создать Git-репозиторий:
git init bash-snippets
Это удобно:
- для резервного копирования;
- для переноса между серверами;
- для командной работы;
- для накопления собственной базы решений.
Snippets для автоматизации
Со временем snippets часто превращаются в полноценные shell-скрипты.
Например:
#!/bin/bash
echo "Backup started"
tar -czf /backup/site.tar.gz /var/www/site
echo "Backup complete"
Сохраняем:
backup.sh
Даём права:
chmod +x backup.sh
Запускаем:
./backup.sh
Типичные ошибки при использовании bash snippets
- Запуск dangerous-команд без проверки.
Особенно это касаетсяrm,find -deleteи Docker cleanup. - Копирование snippets из интернета вслепую.
Некоторые команды могут быть опасными для продакшн-сервера. - Использование snippets без понимания.
Лучше сначала проверить команду на тестовом окружении. - Отсутствие комментариев в скриптах.
Через полгода можно забыть, зачем нужен конкретный snippet.
Вывод
Bash snippets — это не просто набор команд, а личная база знаний администратора или разработчика.
Со временем именно такие маленькие команды начинают экономить огромное количество времени:
- ускоряют работу с сервером;
- упрощают диагностику проблем;
- автоматизируют рутину;
- снижают вероятность ошибок;
- помогают быстрее решать типовые задачи.
А если регулярно собирать свои snippets, через некоторое время у вас появится собственный набор инструментов под реальные рабочие задачи.
Комментарии