← Назад к вопросам

Какие знаешь базовые команды Linux?

1.0 Junior🔥 171 комментариев
#Инструменты тестирования

Комментарии (1)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Базовые команды Linux для QA-инженера

Как QA-инженер с 10+ лет опыта, я ежедневно использую Linux-команды для отладки, анализа логов, мониторинга систем и автоматизации задач. Вот ключевые категории и команды, критически важные в работе.

1. Навигация и управление файлами

Это основа работы в терминале.

  • pwd (Print Working Directory) – показывает текущую директорию.
  • ls – список файлов и папок. Часто с флагами: -l (детальный список), -a (показать скрытые файлы), -la (комбинация).
  • cd – смена директории. cd .. (на уровень выше), cd ~ (в домашнюю директорию).
  • mkdir / rmdir – создание и удаление директорий.
  • cp / mv / rm – копирование, перемещение/переименование и удаление файлов. С rm нужно быть осторожным, особенно с флагом -r (рекурсивно).
# Пример: переход в папку логов и поиск нужного файла
cd /var/log/app
ls -la | grep error

2. Просмотр и анализ содержимого файлов

Для инспекции логов, конфигов и результатов выполнения скриптов.

  • cat – вывод всего содержимого файла. Подходит для небольших файлов.
  • less / more – постраничный просмотр больших файлов (логов).
  • head / tail – вывод начала или конца файла. tail -f (слежение за файлом в реальном времени) – одна из самых используемых команд для мониторинга логов приложения.
  • grepпоиск по шаблону. Незаменим для фильтрации логов. Ключевые флаги: -i (игнорировать регистр), -r (рекурсивно), -n (показать номер строки), -v (инвертировать поиск).
# Пример: мониторинг логов на наличие ошибок и исключений
tail -f application.log | grep -E "ERROR|Exception|Failed"

3. Управление процессами

Для контроля за работой приложений, серверов и тестов.

  • ps – список процессов. ps aux показывает все запущенные процессы.
  • top / htop – интерактивный мониторинг процессов и системных ресурсов (CPU, память).
  • kill / pkill – отправка сигналов процессам для их завершения. kill -9 – принудительное завершение.
  • jobs, bg, fg – управление фоновыми задачами в текущей сессии.
# Пример: поиск и "корректное" завершение процесса Java-приложения
ps aux | grep java
kill <PID> # Отправляет сигнал TERM для graceful shutdown

4. Работа с правами и владельцами

Важно для настройки окружения и скриптов.

  • chmod – изменение прав доступа (чтение r, запись w, выполнение x).
  • chown – изменение владельца файла/директории.
  • sudo – выполнение команды с правами суперпользователя.
# Пример: сделать скрипт исполняемым
chmod +x deploy_script.sh

5. Сетевые команды

Для диагностики соединений, API-тестирования и проверки доступности сервисов.

  • ping – проверка доступности хоста.
  • curl / wget – HTTP-запросы. curl используется постоянно для быстрой проверки API, скачивания артефактов.
  • netstat / ss – информация о сетевых соединениях и портах.
  • telnet / nc (netcat) – проверка доступности конкретного порта.
# Пример: проверка здоровья эндпоинта API и вывод только HTTP-статуса
curl -o /dev/null -s -w "%{http_code}\n" https://api.test.com/health

6. Поиск файлов и текста

  • find – мощный поиск файлов по имени, размеру, времени изменения.
  • locate – быстрый поиск по предварительно построенной базе.
  • which – показывает полный путь к исполняемому файлу команды.
# Пример: найти все файлы .log в директории /var, измененные за последние 7 дней, и удалить их
find /var -name "*.log" -mtime +7 -delete

7. Работа с архивами и пакетами

Для установки софта и управления зависимостями.

  • tar – работа с tar-архивами (создание, распаковка).
  • gzip / gunzip, zip / unzip – компрессия.
  • Команды менеджеров пакетов: apt (Debian/Ubuntu), yum / dnf (RHEL/CentOS/Fedora).
# Пример: распаковать архив и перейти в директорию
tar -xzf build_artifact.tar.gz
cd build_artifact

8. Мониторинг ресурсов и дискового пространства

  • df – отображение свободного места на смонтированных дисках.
  • du – оценка использования дискового пространства файлами/директориями.
  • free – информация об использовании оперативной памяти.

Для QA-инженера эти команды – не просто теория, а ежедневный инструментарий. Умение быстро с их помощью получить логи, проанализировать падение, проверить доступность сервиса или найти "съевший" место лог-файл напрямую влияет на эффективность расследования дефектов и стабильность тестового окружения. Часто эти команды комбинируются в скрипты (Bash/Python) для автоматизации рутинных операций развертывания, очистки или сбора артефактов тестирования.

Какие знаешь базовые команды Linux? | PrepBro