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

Какие знаешь команды в терминале?

1.0 Junior🔥 131 комментариев
#Soft skills и карьера

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

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

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

Мои знания о командах терминала

Как Senior QA Engineer, я ежедневно использую терминал для различных задач: настройки окружения, анализа логов, работы с CI/CD, автоматизации рутинных операций. Знание терминала критически важно для эффективной работы, особенно при отладке, анализе данных и автоматизации процессов.

Основные категории команд

1. Навигация и работа с файловой системой

# Базовые команды
pwd                      # показать текущую директорию
ls -la                   # детализированный список файлов (включая скрытые)
cd ~/projects            # переход в конкретную директорию
mkdir test_directory     # создать директорию
rm -rf old_folder        # рекурсивное удаление (использую осторожно!)
cp -r source/ dest/      # копирование директорий
mv file.txt new_name.txt # перемещение/переименование

2. Работа с файлами

cat server.log           # просмотр содержимого файла
less error.log           # постраничный просмотр
head -20 large_file.json # первые 20 строк
tail -f app.log          # следить за изменениями файла в реальном времени (очень полезно для логов!)
grep "ERROR" log.txt     # поиск паттернов в файле
grep -r "assert" ./tests # рекурсивный поиск по всем файлам
find . -name "*.js"      # поиск файлов по расширению

3. Анализ и обработка данных

# Команды, которые постоянно использую в QA
wc -l test_results.txt   # подсчет строк
diff file1.json file2.json # сравнение файлов
sort -u users.txt        # сортировка и удаление дубликатов
awk '{print $1}' data.log # извлечение конкретных колонок
sed 's/old/new/g' config.yml # замена текста
jq '.results[]' output.json  # обработка JSON (jq - must have инструмент)

4. Процессы и система

ps aux | grep node       # поиск процессов
kill -9 12345            # принудительное завершение процесса
top                      # мониторинг ресурсов
df -h                    # свободное место на дисках
free -m                  # использование памяти
netstat -tlnp            # открытые порты
lsof -i :8080            # какие процессы используют порт

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

curl -X GET https://api.test.com/v1/users  # HTTP запросы
curl -o file.zip https://example.com/file  # скачивание файлов
wget https://example.com/test-data.csv     # альтернатива curl
ping google.com                            # проверка доступности
traceroute api.server.com                  # трассировка маршрута
ssh user@server                            # подключение к удаленному серверу
scp file.txt user@server:/path/            # безопасное копирование

6. Практические примеры из QA практики

Анализ логов тестов:

# Найти все упавшие тесты в логах
grep -A 2 -B 2 "FAILED" test_run.log | head -50

# Подсчитать количество успешных/неуспешных тестов
grep -c "PASSED" results.xml
grep -c "FAILURE\|ERROR" results.xml

# Извлечь timing информации из логов
grep "Duration:" perf_tests.log | awk '{sum+=$2} END {print "Avg:", sum/NR}'

Работа с тестовыми данными:

# Создание тестовых файлов
seq 1 100 > test_data.txt  # числа от 1 до 100

# Генерация JSON для API тестирования
echo '{"users": [' > test_users.json
for i in {1..10}; do echo "{\"id\": $i, \"name\": \"user$i\"}," >> test_users.json; done
sed -i '$ s/,$//' test_users.json  # удалить последнюю запятую
echo ']}' >> test_users.json

Интеграция в CI/CD пайплайны:

# Типичные команды в скриптах сборки
npm test 2>&1 | tee test_output.log  # запуск тестов с сохранением вывода
export TEST_ENV=staging && python -m pytest
docker-compose up -d && sleep 30 && ./run_tests.sh

Ключевые навыки для QA Engineer

  • Комбинация команд через pipe (|): cat log.txt | grep ERROR | sort | uniq -c
  • Перенаправление ввода/вывода: ./test_runner > results.txt 2>&1
  • Работа с переменными окружения: export DB_HOST=localhost && npm test
  • Написание bash скриптов для автоматизации рутинных задач
  • Использование инструментов типа screen/tmux для долгих тестовых сессий

Советы по безопасности

Всегда проверяю команды, особенно с rm -rf или chmod, чтобы случайно не удалить важные файлы. Использую alias rm='rm -i' в своей среде для дополнительной безопасности.

Эти команды составляют мой ежедневный инструментарий как Senior QA. Они позволяют быстро анализировать проблемы, автоматизировать задачи и эффективно работать в Linux/Unix средах, которые доминируют в серверной разработке и DevOps практиках.

Какие знаешь команды в терминале? | PrepBro