Bash команды для тестировщика

Содержание
Просмотр директорий
Создание директории
Копирование директории
Перемещение / Переименование директории
Удаление директории
Работа с логами
Просмотр последних логов
Логи в реальном времени
Другие статьи о Тестировании

Введение

Большинству тестировщиков в своей карьере рано или поздно придётся столкнуться с терминалом Linux

Скорее всего это начнётся как необходимость зайти на сервер и посмотреть логи.

Инженер в серверной bash для тестировщика изображение с сайта www.andreyolegovich.ru
Инженер в серверной. Фото: freepik.com

Сервера делают на разных операционных системах:

Из семейства Linux популярны:

Также часто применяют UNIX подобные ОС:

Они немного отличаются друг от друга но есть и общее свойство:

На сервере обычно нет графического интерфейса

Но зато есть командная оболочка вроде bash

Именно поэтому тестировщику нужно освоить основы работы с терминалом Linux.

В этой статье Вы увидите команды нужные именно тестировщику. Больше полезных команд можно найти в статьях:

Работа с директориями

Тестировщику приходится постоянно работать с логами. Каждый найденный баг обычно нужно описать как функционально: что не работает, что при этом делали, что показал UI. Так и подтвердить документально: timestamp + логи клиента/сервера/партнёрского бэкенда.

Даже если в каком-то конкретном случае логи не нужны, разработчики скорее всего их попросят - просто по привычке.

Для того, чтобы найти логи, нужно уметь перемащаться между директориям и смотреть из содержимое.

Просмотр директорий

Чтобы перейти в директорию с логами достаточно ввести команду cd и её абсолютный адрес.

Например:

cd /glassfish_domains/server_name/logs

Если абсолютный адрес директории неизвестен, нужно перемещаться куда-то из текущей директории.

Узнать содержимое текущей директории можно с помощью команды ls

Например

ls -la

где опция l требует вывода в так называемом длинном формате.

Вывод будет содержать права доступа, количество жёстких ссылок на файл , владельца, группу, размер, время последнего изменения и называние файла.

a - это опция которая требует показать скрытые файлы - те, называние которых начинается с .

Переместиться в директорию на уровень ниже можно с помощью команды cd название директории

cd testProject01

Подняться на уровень выше

cd ..

Создание директории

Для того, чтобы создать директорию выполните команду:

mkdir название_директории

где название_директории - это та директорию, который вы хотите создать.

К примеру, создадим директорию test_Project2:

mkdir test_Project2

Копирование директории

Для того, чтобы скопировать директорию из одного места в другое, выполните команду:

cp -a project01 project02

где project01 - источник (директорию, которую вы хотите скопировать) а project02 - получатель (тот директорию, в которую вы хотите скопировать) ключ -a означает то, что мы выполняем нерекурсивное копирование.

Например, скопируем директорию /usr/local/project01 в своу домашнюю директорию и назовем её project01arj:

cp -a /usr/local/project01 ~/project01arj

Перемещение / Переименование директории

За перемещение и переименование директорий, в Linux отвечает команда mv.

Рассмотрим примеры:

перемещение директории /usr/local/projects в уже существующую, в домашней директории, директорию project01arj:

mv /usr/local/statistics ~/project01arj/

переименование директории /usr/local/projects в /usr/local/testedProjects:

mv /usr/local/statistics /usr/local/newstatistics

Удаление директории

Удаление директории и её содержимого, можно произвести при помощи команд rmdir или rm:

удаляем директорию /usr/local/testedProjects/temp:

rmdir /usr/local/testedProjects/temp

или рекурсивно директорию /usr/local/testedProjects/temp, со всеми директориями внутри него:

rm -rf /usr/local/testedProjects/temp

Работа с логами

Подробнее о том, что такое логи и какими они бывают читайте в параграфе «Изучение логов»

Просмотр последних логов

Зачастую открывать весь файл слишком долго. В этом случае можно воспользоваться командой tail

sudo tail -n 1000 ~/glassfish_domains/server/logs/project-name-2019-09-25.log

Эта команда выведет 1000 последних строк лога.

Логи в реальном времени

Опция -f позволяет мониторить изменения в реальном времени

sudo tail -f ~/glassfish_domains/server/logs/project-name-2019-09-25.log

Если Вы хотите вырезать определённый диапазон строк из лога - читайте мою статью про текстовые препроцессоры:

Как вырезать строки из лога с помощью SED

Чтобы подсчитать сколько всего строк в файле latest.log используйте

wc -l latest.log

282608 latest.log