Какие знаешь базовые команды Linux?
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Базовые команды 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) для автоматизации рутинных операций развертывания, очистки или сбора артефактов тестирования.