Какой у вас опыт работы с консолью (терминалом) в Linux?

«Какой у вас опыт работы с консолью (терминалом) в Linux?» — вопрос из категории Linux, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Работа в Linux-терминале — это моя ежедневная рутина как DevOps-инженера. Основные направления:

  • Администрирование серверов: Установка и настройка ПО (пакетные менеджеры apt, yum), управление сервисами (systemctl), анализ логов (journalctl, tail -f, grep).
  • Написание скриптов автоматизации на Bash: Для рутинных операций (очистка дисков, ротация логов, проверка здоровья сервисов).
  • Диагностика и мониторинг: Использую htop, iotop, nethogs для анализа нагрузки; ss, netstat, tcpdump для сетевой диагностики; df, du, ncdu для контроля дискового пространства.
  • Работа с файлами и текстом: Глубокое владение grep, awk, sed, find, xargs для обработки логов и конфигурационных файлов.

Пример Bash-скрипта для мониторинга места на диске и отправки алерта:

#!/bin/bash
THRESHOLD=90
USAGE=$(df / | awk 'NR==2 {print $5}' | sed 's/%//')

if [ $USAGE -gt $THRESHOLD ]; then
    echo "[CRITICAL] Root partition usage is at ${USAGE}%" | 
    mail -s "Disk Space Alert on $(hostname)" admin@example.com
    # Также можно отправить webhook в Slack/Telegram
    curl -X POST -H 'Content-type: application/json' 
         --data "{"text":"🚨 Disk usage on $(hostname): ${USAGE}%"}" 
         $SLACK_WEBHOOK
fi

Это позволяет оперативно реагировать на инфраструктурные проблемы.