Для чего используется командная строка в Mac, Windows и Linux
LinuxMacWindowsкомандная строкаоперационные системы
Что проверяют
Умеете ли вы работать вне интерфейса и понимаете ли, что без этого часть задач тестировщика недоступна.
Как отвечать
Расскажите через задачи, которые без терминала не решаются:
- логи:
tail -fдля живого просмотра,grepдля поиска ошибки,lessдля больших файлов. Найти нужную строку в логе на сотни мегабайт мышкой невозможно; - удалённые стенды: подключение по
ssh, копирование файловscp, перезапуск контейнеров черезdocker compose; - проверка API:
curlпоказывает и заголовки, и коды ответа, и время. В связке сjqудобно разбирать JSON; - база:
psqlилиmysqlдля проверки данных и подготовки тестовых записей; - запуск тестов и сборок: локальный прогон, флаги, переменные окружения;
- мобильная разработка:
adbдля установки сборки, чтения логов и снятия скриншотов; - сеть:
ping,traceroute,nc,digдля диагностики по уровням; - git: ветки, история изменений между сборками.
Про различия систем:
- Linux и macOS оба Unix-подобные, оболочка
bashилиzsh, команды по большей части совпадают. Но часть утилит в macOS из BSD, и флаги отличаются:sed -iтам требует аргумент, аdateпонимает другой синтаксис. Это регулярно ломает скрипты, написанные для Linux; - Windows это
cmdи PowerShell с другим синтаксисом и объектной моделью вместо потока текста. Практический выход это WSL, дающий настоящий Linux внутри Windows, поэтому команды становятся общими.
Сильный ответ включает пример: как одной командой достать из лога все ошибки за последний час по конкретному идентификатору запроса.
Где спотыкаются
Говорят «умею», но не могут назвать ни одной реальной задачи.
Не знают про конвейеры и объединение команд.
Ищут ошибку в логе, открывая его редактором.
Пишут скрипты на Маке и удивляются, что на сервере они не работают.