Знакомимся с новым Windows Terminal от Microsoft
Разработчик должен знать возможности командной строки операционной системы и уметь ими пользоваться. При этом важно выбрать правильный инструмент, помогающий работать в командной строке эффективно и удобно. В данной статье мы рассмотрим основные возможности Windows Terminal – это новый, удобный и красивый терминал для командной строки Windows и подсистемы WSL (Windows Subsystem for Linux), предлагаемый компанией Microsoft.
Но перед тем, как перейти к установке и запуску нового терминала, давайте разберёмся с терминами.
Что такое терминал, консоль и командная оболочка
Само слово терминал происходит от глагола terminate (завершить, положить конец) и означает «оконечное устройство», то есть устройство, находящееся на одном конце в процессе коммуникации с другим устройством (сервером). Задача терминала – отправлять вводимый с клавиатуры текст на сервер и отображать на дисплее текстовые ответы от сервера.
Первые терминалы подключались по телефонным линиям к большим компьютерам. Они представляли собой электрические печатные машинки – телетайпы (teletypewriters, TTY). Вводимые команды и ответы сервера телетайпы построчно печатали на рулоне бумаги.
Древний терминал-телетайп
Сейчас в операционных системах терминалами называют программные эмуляторы TTY. Это приложения, позволяющие вводить символьные команды, отправлять эти команды другому процессу и отображать на экране поступающие от этого процесса строки текста.
Слово консоль использовалось задолго до изобретения компьютеров и означало кронштейн или подставку под что-либо. Затем консолями стали называть пульты с кнопками и переключателями для управления электрическими устройствами.
В компьютерной терминологии консоль означает устройство со встроенной клавиатурой и монитором. Таким образом, консоль – это устройство, а терминал – это коммуникационная программа внутри консоли.
Консоль с запущенным терминалом
В случае персонального компьютера термины «консоль» и «терминал» можно считать синонимами.
Сами команды, поступающие от терминала, исполняются специальной программой, которая называется командной оболочкой (command shell). В зависимости от полученной команды оболочка выполняет определённые действия и генерирует символьные строки, которые посылаются обратно терминалу для отображения на экране.
Для каждой операционной системы существуют разные оболочки, отличающиеся набором команд. В Linux и Mac OS чаще всего пользуются оболочками bash, zsh, fish, tsh. В состав Windows входят две стандартные оболочки: командная строка cmd и PowerShell.
Важно понимать, что оболочки не имеют собственного пользовательского интерфейса, это не терминалы. С одной и той же командной оболочкой можно работать с помощью разных терминалов, а в одном терминале можно запускать разные оболочки.
Терминалы в Windows
Стандартный эмулятор терминала Windows Console появился ещё в первых версиях Windows NT почти тридцать лет назад. В этом терминале по умолчанию запускается оболочка командной строки (интерпретатор cmd), PowerShell и другие консольные утилиты.
Командная строка Windows (интерпретатор cmd.exe)
Оболочка Windows PowerShell
Также в Windows 10 поддерживается подсистема WSL (Windows Subsystem for Linux), позволяющая установить внутри Windows один из дистрибутивов Linux и пользоваться оболочками командной строки (например, bash или zsh) и стандартными утилитами (grep, sed, awk, …) из этой операционной системы.
Оболочка bash (WSL, Linux Ubuntu)
По правде говоря, за прошедшие десятилетия терминал Windows Console изменился совсем незначительно, работать в нём было неудобно.
Поэтому разработчики, которым часто приходилось пользоваться командной строкой, предпочитали пользоваться программными терминалами сторонних производителей (ConEmu, cmder, Console2, Hyper, Git Bash).
Установка и запуск Windows Terminal
Перед установкой нового терминала нужно проверить версию операционной системы, так как новый терминал поддерживается только в Windows 10 версии не ниже 1903 (соответствующее обновление вышло в мае 2019 года). Для этого выполните команду winver, в результате которой откроется диалоговое окно с нужной информацией.
Установить Windows Terminal проще всего из магазина приложений Microsoft Store (можно открыть с помощью ярлыка в меню Пуск или в браузере по ссылке https://www.microsoft.com/ru-ru/store/apps/windows ):
После установки в меню Пуск появится ярлык Windows Terminal:
Для запуска Windows Terminal можно воспользоваться этим ярлыком или нажать комбинацию клавиш
В результате откроется новое окно терминала с оболочкой Windows PowerShell:
Рассмотрим основные возможности Windows Terminal, которых не было в предыдущем терминале.
Работа с вкладками
Windows Terminal поддерживает вкладки для открытия нескольких сеансов командных оболочек в одном окне. Для создания новой вкладки с оболочкой PowerShell нужно щёлкнуть мышью на значке + или нажать комбинацию клавиш
Если щёлкнуть по значку «стрелка вниз», то откроется список, где можно выбрать другой профиль (командную оболочку) для новой вкладки:
— стандартная командная строка Command Prompt (интерпретатор cmd.exe);
— Windows PowerShell;
— оболочка Bash операционной системы Linux (если подсистема WSL установлена и настроена).
Обратите внимание, что для каждого профиля в этом списке указана комбинация клавиш (
Переключаться между открытыми вкладками можно с помощью комбинации клавиш
Разделение окна на несколько панелей
Окно в каждой вкладке можно разбить на несколько панелей, как по вертикали, так и по горизонтали. В этом случае вы просматриваете сразу несколько сеансов работы с командной строкой, не переключаясь между вкладками.
При разделении по вертикали новая панель откроется справа от выбранной панели, а при разделении по горизонтали – под выбранной панелью.
— Автоматическое разделение панели текущего профиля:
— Вертикальное разделение панели профиля по умолчанию:
— Горизонтальное разделение панели профиля по умолчанию:
— Новая панель для профиля из списка: удерживать
Если во вкладке открыты несколько панелей, то переключаться между ними можно либо с помощью мыши, либо с помощью клавиш со стрелками, удерживая при этом
Закрыть текущую панель можно клавишами
Запуск терминала с аргументами командной строки
Для запуска нового экземпляра Windows Terminal из командной строки используется команда wt. При этом с помощью дополнительных аргументов-команд можно задать текущий каталог, в котором будет открыт терминал, автоматически создать новые вкладки или разделить вкладку на несколько панелей. Команды для терминала разделяются между собой точкой с запятой.
Например, следующая команда:
wt -d C: ; split-pane -p "Windows PowerShell" ; split-pane -H wsl.exe
запустит новый терминал с тремя панелями на вкладке:
1. Сначала в корне диска C: открывается профиль по умолчанию, PowerShell (команда -d C:).
2. Затем панель делится по вертикали и в правой половине открывается PowerShell в домашнем каталоге пользователя (команда split-pane -p "Windows PowerShell").
3. Наконец, правая панель делится по горизонтали в нижней половине открывается интерпретатор bash подсистемы WSL (команда split-pane -H wsl.exe).
Итак, мы рассмотрели некоторые возможности нового терминала для Windows, который Microsoft предлагает в качестве современной альтернативы своей консоли Windows Console. Исходный код Windows Terminal размещён на GitHub (https://github.com/microsoft/terminal), этот проект активно развивается, выходят новые версии с дополнительными возможностями. Если вы занимаетесь разработкой под Windows, то обязательно изучите этот инструмент (документация на сайте Microsoft: https://docs.microsoft.com/ru-ru/windows/terminal/) и возьмите его себе на вооружение!