- Улучшения консоли Windows в Windows 10 May 2019 Update
- Изменения консоли Windows в May 2019 Update
- Подсистема Windows для Linux
- Апгрейды для cmd.exe и альтернативы
- Содержание статьи
- Console
- Хакер #164. Железный дуршлаг
- Clink
- Mintty
- Creators Update: улучшения для Консоли Windows и Bash/WSL
- Консоль Windows
- Улучшения для виртуальных терминалов
- Поддержка 24-битного цвета
- Поддержка мыши
- Создание симлинков без прав администратора
- Bash/WSL
- Поддержка Ubuntu 16.04
- Поддержка Ifconfig и перечисления сетевых соединений
- Поддержка Ping & ICMP network support
- Поддержка уведомлений об изменени файлов (INOTIFY)
- Взаимодействие Windows и Linux
- Прочие улучшения для WSL
Улучшения консоли Windows в Windows 10 May 2019 Update
Обновление Windows 10 May 2019 Update поставляется с многочисленными изменениями консольного интерфейса, которые распространяются на командную строку, PowerShell и подсистему Windows для Linux (WSL).
В седьмом по счету обновлении консоль Windows получила несколько желанных изменений, в частности визуальные улучшения пользовательского интерфейса и расширенные настройки отображения рабочего пространства и курсора. Если вы используете среду Linux в Windows 10, то теперь можете применять новые команды, а также получать прямой доступ к файлам Linux прямо из командной строки или Проводника.
В данном руководстве мы детально рассмотрим улучшения консольного интерфейса, представленные в Windows 10 May 2019 Update (версия 1903).
Изменения консоли Windows в May 2019 Update
Новая вкладка «Терминал»
В окне настроек консоли (кликните правой кнопкой мыши по панели заголовка и выберите пункт «Свойства») вы заметите новую вкладку «Терминал», которая содержит много новых параметров.
В разделе «Цвета терминала» активируйте опцию «Использовать отдельный передний план», чтобы изменить цвет рабочей области с помощью кодов цветовой модели RGB.
Секция «Форма курсора» содержит пять различных форм для настройки мигающего курсора в консоли.
- По умолчанию активен параметр «Использовать старый стиль», который соответствует традиционной толстой линии подчеркивания.
- «Символ подчеркивания» очень похож на старый стиль, но линия является более тонкой.
- «Вертикальная черта» активирует вертикальный курсор, который обычно используется в текстовых редакторах.
- «Пустое поле» соответствует толстому вертикальному курсору с пустой серединой.
- «Сплошное поле» соответствует толстому прямоугольнику в вертикальной ориентации.
На вкладке «Терминал» доступна отдельная секция «Цвета курсора», которая позволяет инвертировать цвет рабочий области для курсора (по умолчанию) или использовать любой другой цвет, заданный с помощью модели RGB.
В секции «Прокрутка терминала» доступна опция «Отключить прокрутку вперед», которая позволяет ограничить прокрутку вперед только последним выводом данных (если опция отключена, вы можете прокручивать куда-угодно вверх и вниз рабочей области в пределах буфера).
Улучшения темной темы
В новой версии Windows 10 при использовании темного режима, вы можете заметить, что панели прокрутки для командной строки, PowerShell и подсистемы WSL теперь имеют темную цветовую схему, что делает внешний вид консоли гармоничнее.
Изменение масштаба
Начиная с May 2019 Update, при использовании любого из консольных инструментов Windows, можно использовать сочетание клавиши Ctrl и движения колесиком мыши вверх и вниз для увеличения и уменьшения масштаба текста соответственно.
Подсистема Windows для Linux
May 2019 Update включает несколько улучшения подсистемы Windows для Linux (WSL). Например, реализован прямой доступ к файлам Linux и добавлена поддержка новых команд.
Доступ к файлам Linux из Windows 10
С выходом версии 1903, пользователи Windows 10 могут получать прямой доступ к файлам Linux с помощью Проводника или командной строки.
Данное изменение является очень важным, потому что ранее попытка изменения этих файлов вызывала серьезные проблемы. Теперь реализована нативная поддержка прямого доступа к файлам Linux – для этого в адресную строку Проводника или в командную строку / PowerShell введите команду и добавьте название дистрибутива (например, Ubuntu):
Если вы хотите посмотреть список установленных дистрибутивов, используйте путь:
Перейдя в папку дистрибутива, вы можете выполнять навигацию по папкам и файлам в обычном режиме. Если вы используете Проводник Windows, то вам доступно контекстное меню файлов. Вы можете добавлять, удалять, перемещать и копировать файлы и папки, а также открывать и редактировать файлы с помощью любого текстового редактора без риска нарушить работу дистрибутива.
Команды WSL
Наконец, обновление функций Windows 10 включает улучшения взаимодействия с командной строкой Linux за счет объединения существующих и добавления новых команд. Теперь, при запуске wsl.exe, вам доступны все команды, необходимые для настройки и управления подсистемой Windows для Linux.
Новые команды упрощают импорт, экспорт и завершение работы дистрибутивов, и работу с другим пользователем. Например, вы можете использовать команды —user или -u для запуска команд от имени другого пользователя.
Используйте команду —export для экспорта дистрибутива в файл tar. Команда —import позволяет импортировать создать новый дистрибутив из файла tar. Команды —terminate или -t позволяют завершить работу дистрибутива.
В May 2019 Update команды из wslconfig.exe теперь доступны в wsl.exe, в том числе:
- —upgrade : смена формата файловой системы дистрибутива на WsIFs
- —setdefault (-s) : установка дистрибутива по умолчанию
- —unregister : удаление регистрации дистрибутива
- —list (-l) : создание списка установленных на устройстве дистрибутивов. Параметр —all позволяет посмотреть список всех дистрибутивов, в том числе которые добавляются или удаляются, а —running – только запущенных в данный момент.
Апгрейды для cmd.exe и альтернативы
Содержание статьи
Будем честны — стандартная командная строка Windows неудобна. В ней нет нормального copy-paste, нет вкладок и даже нет возможности по-человечески поменять размер окна. Кроме того, в самой Windows маловато консольных инструментов, и любители текстового режима, возможно, захотят получить доступ к мощному окружению UNIX. Для этого тоже есть свои решения.
Microsoft не сильно заботит судьба командной строки. Оно и понятно: для большинства людей это совершенно бесполезная часть системы. К счастью, есть энтузиасты, не поленившиеся превратить стандартный cmd.exe в инструмент, который действительно можно использовать.
Console
Console — бесплатная и продуманная до мелочей альтернатива родной консоли
Хакер #164. Железный дуршлаг
Сперва рассмотрим решения для тех, кто выживает под командной строкой Windows, но при этом не испытывает нужды связываться с виртуализацией или *nix-утилитами, а главное — не желает платить! Словом, начнем с самого простого и доступного.
Проект с незамысловатым названием Console, пожалуй, самая крутая и функциональная разработка для оптимизации cmd в Windows на данный момент. В отличие от родной оболочки системы Console призвана быть удобной, понятной и предусматривает все те мелочи, которых многим так не хватает, например, после работы с Linux или Mac.
Нагляднее всего будет просто перечислить ключевые фишки софтины:
- Можно создавать множество вкладок командной строки в одном окне, с индикацией активности фоновой вкладки.
- Можно на лету изменять размер окна, как хочется, текст будет автоматически подгоняться под новый размер.
- Имеется функция copy-paste, а значит, можно спокойно копипастить информацию туда-сюда, как в обычном текстовом редакторе (выделить мышью нужный фрагмент можно, зажав клавишу , а вставить — через тулбар или через меню).
- Есть возможность выбирать любой из доступных для консоли шрифтов и настроить их сглаживание вплоть до ClearType.
- Можно запоминать размер окна и позицию на экране — при каждом запуске конфигурация будет та, что нужна пользователю. Прозрачность окна также имеется и настраивается, но реализована странно — во многих случаях текст становится нечитаемым.
- Работают всевозможные комбинации клавиш, которые можно настроить под себя.
- Можно создавать преднастроенные вкладки и прописывать комбинации команд, которые будут выполнены при открытии данной вкладки.
- Есть возможность подключения других интерпретаторов (bash и прочие) — а значит, и запускать сценарии на этих языках.
Разумеется, это далеко не полный перечень того, что умеет Console, но остальные нюансы лучше познавать на деле, тем более что программа распространяется свободно и совершенно бесплатно. Заметим, что, поработав с Console хотя бы раз, уже сложно представить себе работу без нее. К сожалению, некоторые пользователи жалуются на скорость работы программы.
Кстати, для тех, кто больше доверяет платным и серьезным решениям, есть очень похожая на Console альтернатива — PowerCmd (powercmd.com). По функциональности Console и PowerCmd схожи, только у последней различных «свистелок» и удобств еще больше:
- Сильная сторона — возможность располагать консоли не только в виде вкладок, но и в виде областей одного экрана. При этом можно разместить до четырех терминалов.
- Можно вести логи вводимых команд, искать по ним.
- Можно запоминать пути и папки в виде избранного с занесением в избранные закладки.
- Предусмотрены различные настройки интерфейса: меняется фон, изменяются шрифты, нумеруются строки.
- Поддерживается автодополнение.
- Доступна подсветка синтаксиса.
- Есть возможность запоминать активные сессии.
Однозначно оправдать ценник в 30 долларов у PowerCmd мы не можем — при желании Console можно расширить до нужного уровня, да и упирается все в конечном счете в конкретные потребности пользователя. Однако по сравнению с бесплатным аналогом этот инструмент более нагляден, интерактивен и удобен — мы считаем, что он лучше подойдет тем, кто не хочет ковыряться в форумах и настройках для того, чтобы «допилить» Console. Но это наше мнение, и сформировать собственное ты сможешь, если попробуешь бесплатную триальную версию PowerCmd. Также на нее стоит обратить внимание пользователям, часто работающим с русскими названиями файлов, — с ними PowerCmd часто ведет себя непредсказуемо.
По сравнению с Console, PowerCmd имеет множество дополнительных плюшек
Clink
К самым простым апгрейдам можно отнести еще один совсем маленький lifehack — Open Source утилиту clink, которая способна значительно расширить возможности интерпретатора командной строки cmd.exe. Дело в том, что clink использует библиотеку readline, которая создана и поддерживается в рамках проекта GNU и обеспечивает интерфейс командной строки и обработку строк в bash.
После установки clink интерпретатор cmd.exe фактически ведет себя как командная оболочка bash со всеми ее продвинутыми функциями: автодополнением командной строки, редактированием, историей команд и так далее. Перечислять весь список новых возможностей cmd не стану, приведу только некоторые особенности:
- удобное автодополнение путей (TAB);
- вставка из буфера обмена (Ctrl-V);
- поддержка автодополнения при указании исполняемых файлов/команд и переменных окружения;
- функции Undo/Redo (Ctrl-_ или Ctrl-X, Ctrl-U);
- улучшенная история командной строки;
- сохранение предыдущих сессий;
- поиск по истории (Ctrl-R и Ctrl-S);
- расширенная история (например, . !
Cygwin с запущенным xclock и Midnight Commander
Ну и в заключение хотелось бы напомнить тебе о еще одном полезнейшем инструменте, хотя его и нельзя назвать «простой оптимизацией cmd». Данное решение пригодится тем, кто желает объединить возможности Linux и Windows, или тем, кто по каким-то причинам не может установить Linux на своем компе, но в нем нуждается.
Конечно, большинство наших читателей уже догадались, о чем речь, ведь они наверняка знакомы со старым добрым Cygwin, но вспомнить о нем еще раз — не лишнее.
Cygwin — это UNIX-подобная среда и интерфейс командной строки для Windows, позволяющая объединить Windows и UNIX без использования виртуализации (что немаловажно). По сути, это не что иное, как набор утилит из мира *nix, портированных на Windows. Что конкретно устанавливать помимо базовой системы, каждый решает сам для себя — выбор огромен. Но так как мы сегодня занимаемся оптимизацией командной строки, нас интересует именно этот аспект Cygwin.
В общем-то, Cygwin превращает командную строку в удобный UNIX-терминал, к какому привыкли поклонники Linux и Mac. Все UNIX-команды, которые тебе знакомы, прекрасным образом будут работать и здесь, так же, как работают и многие никсовые утилиты. Однако сама командная оболочка, увы, остается практически без изменений. Cygwin решает проблему отсутствия команд и синтаксиса, но удобство работы все равно оставляет желать лучшего. Следующий совет поможет разобраться и с этой задачей.
Mintty
mintty — удобная надстройка
Если ты используешь Cygwin или MSYS/MinGW, тебе точно пригодится mintty.
Как мы уже выяснили, чаще всего людям в работе с командной строкой не хватает самого элементарного: удобного выделения текста, функции copy-paste, настроек прозрачности окна и так далее. А значит, нужна новая программа-терминал. Mintty — одно из самых популярных и удобных решений в этой области.
Mintty, так же как и Console, о которой речь шла в начале, призвана оптимизировать работу командной строки. Функциональность этих двух софтин весьма схожа, правда, mintty, к сожалению, не поддерживает табы. Если же наличие или отсутствие вкладок некритично, на mintty точно стоит обратить внимание, потому что она предоставляет:
- удобный copy-past;
- функцию drag & drop для текста, файлов или директорий;
- возможность открывать ссылки по Ctrl+клик;
- полноэкранный режим и прозрачность для Windows Vista и 7;
- поддержку различных кодировок, включая UTF-8, а также многое, многое другое.
Creators Update: улучшения для Консоли Windows и Bash/WSL
Консоль Windows
Улучшения для виртуальных терминалов
Так как Консоль Windows создавалась для Windows (внезапно), то не умела корректно обрабатывать вывод от консольных утилит, созданных для UNIX. Что-то в этом плане было улучшено ещё в Windows 10 Anniversary Update, некоторые сложные сценарии вывода консоль научилась обрабатывать только в Creators Update.
Поддержка 24-битного цвета
До недавнего времени Консоль Windows поддерживала показ только 16 цветов, в то время как многие продвинутые консольные инструменты для других платформ часто оперируют палитрой из 256 и более цветов. В результате разработчики Microsoft приняли решение реализовать поддержку сразу 24-битного цвета, с заделом на будущее.
Поддержка мыши
Так как количество сложных текстовых интерфейсов только растёт, разработчики Microsoft пошли на встречу пользователям и реализовали для консоли поддержку мыши. Она может пригодиться при использовании Midnight Commander, Htop или других похожих инструментов.
Создание симлинков без прав администратора
В мире Linux симлинки играют большую роль и используются повсеместно, в мире Windows они не так важны и для их создания требовались права администратора. При использовании Linux-инструментов разработки это создавало определённые сложности, а потому в Creators Update это ограничение было снято (правда только при условии активации режима разработки в Параметрах).
Bash/WSL
Поддержка Ubuntu 16.04
В составе Windows 10 Anniversary Update для Bash/WSL использовалась Ubuntu версии 14.04, в Creators Update она была обновлена до 16.04. Заметим, что новая версия система используется только при создании новых копий Bash/WSL, уже установленные нужно обновлять или заменять вручную.
Поддержка Ifconfig и перечисления сетевых соединений
Одним из весьма неприятных недостатков предыдущей версии Bash/WSL была невозможность перечисления сетевых соединений, а значит и корректного использования таких утилит как ifconfig, gulp, npm и других.
Поддержка Ping & ICMP network support
Командой ping теперь можно пользоваться, не имея прав администратора. В Windows 10 Anniversary Update это было невозможно и жутко раздражало.
Поддержка уведомлений об изменени файлов (INOTIFY)
Наверняка понравится разработчикам для веб, Node.js, Ruby и Python новая возможность получения уведомлений об изменениях файлов через inotify, причём как для файлов в файловой системе WSL, так и в файловой системе Windows.
Взаимодействие Windows и Linux
С самого начала создатели WSL старались создать как можно более комфортные условия одновременного использования инструментов Windows и Linux. В Creators Update разработчики получили возможность вызова исполняемых файлов, команд и скрипов Linux из Windows и наоборот.
Прочие улучшения для WSL
Улучшена совместимость с некоторыми сокетами UNIX и Netlink, реализована поддержка дополнительных сокетов и свойств IPv6 & TCP, разрешено отображение процессов Linux в Диспетчере задач, добавлены новые функции, обеспечивающие понимание Linux-процессов антивирусами и брандмауэрами, появилась поддержка общей памяти, необходимая для PostgreSQL и других инструментов. Кроме того разработчики WSL добились стабильной и полноценной работы следующих инструментов, приложений и утилит:
- основные инструменты: apt, sed, grep, awk, top, tmux, ssh, scp и др.;
- оболочки: Bash, zsh, fish, etc и др.;
- инструменты разработки: vim, emacs, nano, git, gdb, etc и др.;
- языки и платформы: Node.js & npm, Ruby & Gems, Java & Maven, Python & Pip, C/C++, C# & .NET Core & Nuget, Go, Rust, Haskell, Elixir/Erlang и др.;
- службыи сервисы: sshd, Apache, lighttpd, nginx, MySQL, PostgreSQL;
- и многих, многих других.
Подробнее обо всех указанных новшествах, а также о некоторых других можно узнать из публикации в официальном блоге Windows Command Line Tools For Developers .