Приёмы, советы и взломы производительности терминала Windows
Copyright © 2021 Packt Publishing
![]() |
Данный документ предоставляется по лицензии Creative Commons Attribution 3.0 License, за исключением разделов со специальными оговорками. |
Первая публикация на английском языке: Апрель 2021
Ссылка на продукт: 1280421
Все права защищены. Никакая часть этой книги не может быть воспроизведена, сохранена в поисковой системе или передана в любой форме или любыми средствами без предварительного письменного разрешения издателя, за исключением случаев кратких цитат, встроенных в критические статьи и обзоры.
При подготовке этой книги были предприняты все усилия чтобы гарантировать точность представленной информации. Тем не менее, информация, содержащаяся в этой книге, продаётся без гарантии в явном или неявном виде. Ни авторы, ни Packt Publishing, ни их дилеры и дистрибьюторы не будут нести ответственность за любые убытки, вызванные или предположительно вызванные прямо или косвенно этой книгой.
Packt Publishing пыталась предоставить информацию о товарных знаках обо всех компаниях и продуктов, упомянутых в данной книге для надлежащего использования капиталов. Тем не менее, Packt Publishing не может гарантировать точность этой информации.
Опубликовано Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK
ISBN 978-1-80020-756-1
2021-05-02
- Автор
- Вилл Фукуа
- Управляющий групповой обработкой
- Пэйвэн Рамчндейни
- Редактор ввода в эксплуатацию
- Каустубх Мангалуркар
- Главный редактор
- Софи Роуджирс
- Редактор разработки содержимого
- Аамир Ахмед
- Технический редактор
- Сауруб Кэйдэви
- Координатор проекта
- Айжеш Дивайвайрам
- Литературный редактор
- Safis Editing
- Корректор
- Safis Editing
- Составитель указателя
- Тиджил Дарували Сони
- Технолог
- Джаоти Чауан
Моей любезной и любящей жене Кой, проявившей огромное терпение при написании этой книги.
- Вилл
Вступление
Собираете ли вы над некое веб приложение или рабоатет в облаке, командная строка всегда выступает интегрирующим инструментом для разработчиков программного обеспечения, а также администраторов ИТ. На протяжении многих лет возможности командной строки Windows отставали от основанных на Unix систем. Даже простые вещи, такие как выделение и копирование текста, требовали от вас преодолевать полосу препятствий прыжков по шинам.
В 2010-х Microsoft начал улучшать практику работы с командной строкой при помощи Подсистемы Windows для Linux (WSL), усовершенствований PowerShell и интерфейса командной строки. WSL предоставил собственное решение для запуска среды Linux на вашем устройстве Windows. PowerShell продолжал получать дополнительные улучшения для превышения удобства использования CMD. Диспетчер пакетов Windows выпустил интерфейс командной строки в качестве собственного решения установки программного обеспечения в вашей машине. Даже со всеми этими инструментами командной строки Windows не хватало надёжного терминала для их размещения, и Microsoft быстро осознала насколько сложно вносить изменения не разрушая определённого наследуемого поведения.
В 2019 году Microsoft представила Терминал Windows, некую новую унифицированную практику для размещения инструментов командной строки. Чтобы ещё подсластить это, Терминал Windows стал открытым исходным кодом совместно с упакованной с ним консолью. с которой пользователи командной строки Windows уже были знакомы. Он поместил настраиваемость во главу угла с моделью настроек на основе профилей и привязки клавиш. К тому же, быстрый цикл выпусков позволяет собирать отзывы пользователей и реагировать на них.
Эта книга выполнит фантастическое задание науить вас настройке Терминала Windows и превращения его в свой собственный. Вы узнаете как создавать профили и управлять ими чтобы максимально использовать возможности вашего терминала и настраивать свои действия, а также осуществлять привязку клавмш чтобы превратиться в эффективного пользователя. Более того, вы узнаете как начать чаще применять этот терминал в своих повседневных делах. Автор учит вас тому как применять PowerShell и bash и как приспособить их под свои нужды. Эта книга также научит вас тому как применять такие инструменты для сборки своих прикладных приложений, управления удалёнными системами и взаимодействовать с облачными решениями.
Карлос Замора
Инженер программного обеспечения Теринала Windows в Microsoft
Вилл Фукуа был профессиональным разработчиком программного обеспечения на протяжении 12 лет с применением широкого диапазона технологий. Первоначально он выступал в качестве консультанта по программному обеспечению в Соединённых Штатах, он занимался разработкой промышленных систем для компаний в индустриях здравоохранении и финансов, помимо всего прочего. Затем он переместился за границу м теперь выступает Главой проектирования для интернет агентства путешествий, в котором он возглавляет высокопрофессиональную технологическую команду в Бангкок, Таиланд.Вы можете найти его в интернете.
Честер Лю энтузиаст открытого исходного кода, живущий в Китае. Первую свою работу он получил в качестве разработчика iOS в 2016 году, после того как окончил колледж. За свою профессиональную карьеру он работал на различных платформах и в разных областях. Он является давним членом сообщества GitHub и участвует в проекте Windows terminal начиая с 2019 года, после того как Microsoft открыл код этого проекта. Его вклад относится к различным областям, помимо прочего, включая рендеринг, производительность и поддержку VT.
Я бы хотел поблагодарить центральную команду Подсистемы консоли в Microsoft, с которой я был рад познакомиться благодаря нашему сотрудничеству в проекте Windows Terminal. Они постарались убедить своё руководство открыь исходный код глубокого компоенента ОС Windows, просто чтобы предоставить сообществу захватывающий опыт работы с консолью. В конце концов, члены команды - это те, кто погрузился в унаследованный исходный код консоли и на протяжении последних нескольких лет пытался улучшить работу консоли Windows. Дастин Л. Хауетт, технический руководитель команды консоли, один из самых крутых технических руководителей, встречавшихся мне, и для меня большая честь быть членом его "внешней" команды.
Даниэль Энгберг является главным консультантм и партнёром Agdiwo, базирующейся в Гётеборге, Швеция, компании ИТ услуг. Даниэль специализируется на управлении корпоративными клиентами Microsoft, включая Microsof Endpoint Confguration Manager (ранее System Center Confguration Manager), Windows 10 и PowerShell.
Даниэль ведёт свой блог начиная с 2010 года и активен в Твиттере
Терминал Windows это современная программа с открытым исходным кодом для Windows 10, со встроенными возможностями Приглашения командной строки (Command Prompt), PowerShell, WSL2 (Windows Subsystem for Linux 2, 2й версией подсистемы Windows для Linux) и много чем ещё. Он быстрый и гибкий, однако для его действенного применения нам требуется разбираться как в Терминале Windows, так и в тех оболочках, которые работают внутри него. Мы подробно исследуем эти технологии на протяжении трёх раделов этой книги..
Мы начнём с описания преимуществ Терминала Windows, включая его рендеринг с ускорением GPU и настраиваемость на основе JSON. Мы изучим как применять и персонализировать встроенные закладки, панели и ключевые компоновеи чтобы продвигать свои прекрасные и действенные терминальные рабочие потоки.
Затем мы покажем как использовать внутри Терминала Windows PowerShell Core и Подсистему Windows для Linux. Мы достигнем своей максимальной производительности с использованием мощных инструментов, таких как PSReadLine в PowerShell и ZSH в Linux, и подцепим некоторые сберегающие время трюки для распространённых интсрументов разработки, таких как Git и SSH.
Наконец, мы увидим как Терминал Windows может применяться в общей разработке и задачах DevOps, таких как разработка интерфейса приложений JavaScript и серверного REST API, а также управления Amazon Web Services, Azure и Google Cloud.
К концу этой книги мы станем не только экспертами в Терминале Windows, но мы также узнаем как пользоваться такими оболочками как PowerShell Core и ZSH чтобы стать профессионалом командной строки.
Эта книга для разработчиков, инженеров DevOps и системных администраторов, которые желют стать современными мощными пользователями командной строки. Вне зависимости от того, новичок ли вы при работе с командной строкой, или вы пользуетесь PowerShell ежедневно, эта книга что- то вам предложит.
Эта книга рассматривает Терминал Windows вплоть до версии 1.7 и составлена из следующих глав.
Раздел 1 - Введение в новый Терминал Windows
Глава 1. Начинаем работать с новым Терминалом Windows,
обсуждает как работает Терминал Windows с существующими оболочками, такими как PowerShell, cmd.exe
и
подсистемой Windows для Linux. Она обсуждает скорость, настраиваемость и разработку с открытым исходным кодом для Терминала Windows, а также как
устанавливать, обновлять и запускать его.
Глава 2. Изучаем интерфейс пользователя Терминала Windows,
рассматривает как пользоваться закладками Терминала Windows, управлять панелями терминала и открывать различные оболочки, включая PowerShell и
cmd.exe
. Там, где это применимо и полезно, упоминаются соответствующие Быстрые клавиши. Данная глава
охватывает все основные части интерфейса пользователя Терминала Windows.
Глава 3. Настраиваем профиль Linux Ubuntu, представляет некий обзор преимуществ WSL2 (Windows Subsystem For Linux 2, подсистемы Windows для Linux версии 2), руководства по настройке системы Ubuntu WSL2 и показывает как запускать её в виде профиля Терминала Windows. Она также обсуждает доступ к Windows через Linux и наоборот.
Раздел 2 - Настройка вашего Терминала Windows и его оболочек
Глава 4. Персонализируем настройки вашего Терминала Windows,
рассматривает файл settings.json
и имеющиеся настройки интерфейса пользователя. Она предоставляет вам
руководство по его общей структуре и изменению данного файла, а также рассатривает целый ряд полезных настроек для их включения в Терминала Windows.
Глава 5. Изменяем появление вашего Терминала Windows, показывает как регулировать появление Терминала Windows чтобы сдедать его как привлекательным, так и более функциональным. В целом она обладает двумя частями: персонализация самого Терминала Windows и затем персонализация его оболочек для общего соответствия.
Глава 6. Настраиваем Быстрые клавиши, рассматривает основы системы привязки команд/ клавиш Терминала Windows, а также рекомендует установку привязки некоторых дополнительных клавиш.
Глава 7. Скрытые действия Терминала Windows, детализирует большое число скрытых по умолчанию команд - то есть выведенных за скобки и не доступных пока они поставлены в имеющихся настройках в соответствие Быстрые клавиши. Данная глава рассматривает некоторые из наиболее практичных скрытых ключевых привязок, таких как "режим фокуса" и "прикрепить сверху".
Глава 8. Советы для применения PowerShell в качестве профессионала, сосредотачивается на использовании PowerShell в качестве интерактивной оболочки в Терминале Windows. Она показывает некоторые сберегающие время советы и уловки для быстрого и без усилий выполнения задач.
Глава 9. Советы для использования Ubuntu в качестве эксперта, рассматривает как применять Ubuntu WSL2 в Windows. Дополнительно эта глава разделяет выбор полезных советов по настройке Ubuntu WSL2 в Терминале Windows для предоставления более богатой и производительной среды.
Раздел 3 - Применяем ваш Терминал Windows для разработки
Глава 10. Применение Git и GitHub в Терминале Windows,
содержит советы и уловки по быстрому и действенному применению Git и GitHub. Она рассматривает начальную настройку и установку этих систем, а также
инструменты оптимизации рабочего потока, такие как gh
.
Глава 11. Сборка веб приложений при помощи React, рассматривает как собирать инфраструктуру приложения React внутри WSL2 при помощи Терминала Windows и кода VS. Она сосредоточена на действенных рабочих потоках при использовании Терминала Windows для разработки интерфейса.
Глава 12. Сборка REST API при помощи C# и Терминала Windows, показывает как собирать простой веб API при помощи .NET. Она детализирует различные схемы панелей Терминала Windows для запуска такого приложения, непрерывного тестирования и проведения экспериментов с C#.
Глава 13. Подключение к удалённым системам, пердставляет как WinRM, так и SSH. Она применяет SSH для удалённого подключения к системам Windows и Linux, а также предоставляет полезные советы относительно того как создавать некую хорошо налаженную настройку для соединения с часто применяемыми удалёнными машинами.
Глава 14. Управление системами в облаке, рассматривает настройку в Терминале Windows Облачных оболочек Azure и Google, а также дополнительно рассматривает командную строку Amazon Web Services для администрирования облачными системами.
Для максимального получения пользы от данной книги вам потребуется относительно современная версия Windows 10. Минимально рекомендуемой версией является Windows 10 версии 1903 (сборка 18362), которая была выпущена в мае 2019. Некоторые из наиболее современных функциональных возможностей из этой книги потребуют более современной версии. Все галвы, которые требуют более соверменной версии сделают это ясным в самом начале самой главы.
Если вы применяете цифровую версию данной книги, мы предлагаем вам набирать любой код этой книги или параметры настройки самостоятельно или получать доступ к такому коду через репозиторий GitHub (ссылка на него доступна в нашем следующем разделе). Следование этому поможет вам избежать любых потенциальных ошибок, связанных с копированием и вставкой для читающих PDF или электронную книгу {Прим. пер.: в своём переводе мы постарались проверять и это.}
Вы можете выгрузить примеры кода для данной книги с GitHub по ссылке: https://github.com/PacktPublishing/Windows-Terminal-Tips-Tricks-and-Productivity-Hacks. В случае наличия обновлений этого кода они будут обновлять этот имеющийся репозиторий GitHub.
Мы также обладаем прочими пакетами кода из своего богатого каталога книг и видео, доступного в: https://github.com/PacktPublishing/ Сверяйтесь с ними!
Мы дополнительно снабжаем вас файлом PDF, который содержит цветные изображения экранных снимков/ схем, использованных в данной книге. Вы можете загрузить этот файл по адресу: https://static.packt-cdn.com/downloads/9781800207561_ColorImages.pdf.
В данной книге вы найдёте ряд текстовых стилей, которые делают разницу между различными видами информации. Здесь мы приводим некоторые примеры этих стилей и объяснение их назначения.
CodeInText
обозначает одовые слова в тексте, файлы настроек, имена папок,
названия файлов, расширения файлов и названия программ. Вот некие примеры:
"Чтобы выполнить ping к серверу в своём терминале запустите ping example.com
.".
Блок кода записываются следующим образом:
{
"command": "togglePaneZoom",
"keys": "alt+shift+z"
}
Когда мы желаем привлечь ваше внимание к определённой части блока кода, соответствующие строки или элементы устанавливаются жирным текстом:
{
"command": "togglePaneZoom",
"keys": "alt+shift+z"
}
Всякий ввод и вывод в командной строке записывается следующим образом:
mkdir my-project
cd my-project
Жирный шрифт указывает некий новый термин, важное слово или слова, которые вы наблюдаете на экране. Например, слова в меню или блоках диалога в тексте, подобном приводимому здесь. Например: "Выберите System info из панели Administration.
![]() | Замечание |
---|---|
Предостережения или важные замечания появляются в блоках подобных этому. |
![]() | Совет |
---|---|
Советы и ловкие приёмы возникают таким образом. |
В этой книге вы будете находить отдельные часто повторяющиеся заголовки (Приготовление, Как это сделать..., Как это работает..., Также ознакомьтесь... и Дополнительно). Чтобы получить чёткие инструкции как выполнить определённый рецепт, применяйте эти разделы следующим образом:
Обращения наших читателей всегда приветствуются. Дайте нам знать что вы думаете об этой книге - что вам нравится или не нравится. Обратная связь с читателями важна нам, так как помогает нам разрабатывать издания, от которых вы на самом деле получите максимальную пользу.
Для отправки обычного отклика просто пошлите электронное письмо на адрес feedback@packtpub.com с упоминанием заголовка книги в теме вашего сообщения.
Если у вас существует тема, в которой у вас имеется опыт и вы заинтересованы либо в написании, либо во вкладе в книгу, обратитесь к руководству по адресу www.packtpub.com/authors.
Теперь, когда вы являетесь гордым владельцем книги Packt, у нас есть целый ряд моментов для помощи вам в получении максимальной выгоды от вашей покупки.
Хотя мы и предприняли все меры чтобы обеспечить точность нашего содержимого, ошибки всё- таки возможны. Если вы обнаружили ошибку в нашей книге - возможно, ошибку в тексте или в коде - мы будем признательны если вы сообщите об этом нам. Сделав это, вы можете предостеречь остальных читателей от разочарования и помочь нам улучшить последующие версии данной книги. Если вы обнаружили ошибку, пожалуйста, сообщите о ней посетив www.packtpub.com/submit-errata, выбрав вашу книгу, кликнув на ссылку Errata Submission Form, и заполнив подробности найденной вами ошибки. Когда ваша ошибка будет проверена, вы получите уведомление и ошибка будет выложена на наш веб- сайт или добавлена в какой- нибудь перечень существующих ошибок с заголовком раздела Errata.
Для просмотра ранее выявленных ошибок посетите www.packtpub.com/books/content/support и введите название нужной книги в поле поиска. Необходимая информация появится в разделе Errata.
Пиратство, защищённых авторским правом материалов в Интернете является постоянной проблемой во всех средствах массовой информации. В Packt мы подходим к защите наших авторских прав и лицензий очень серьёзно. Если вы столкнётесь с какой-либо незаконной копией наших работ в любой форме в Интернете, пожалуйста, предоставьте нам сразу адрес местонахождения или имя веб-сайта, чтобы мы могли принять меры. {Прим. пер.: Согласно закону об авторском праве РФ, авторские права на перевод принадлежат авторам этого перевода. Данным переводом, по нашему мнению, мы служим популяризации основных стратегических направлений развития тем Packt. В случае наличия конструктивных предложений, готовы к тесному сотрудничеству.}
Пожалуйста, обратитесь по адресу copyright@packtpub.com со ссылкой на материалы содержащие признаки нарушения авторских прав.
Мы выражаем вам признательность в защите наших авторов и нашей возможности доносить до вас имеющего ценность содержимого.
Если у вас есть проблемы по любым сторонам данной книги, вы можете контактировать с нами по адресу questions@packtpub.com и мы предпримем все меры в отношении ваших проблем.
- Предисловие
- Раздел 1. Введение в новый Терминал Windows
- Раздел 2. Настройка вашего Терминала Windows и его оболочек
- Глава 4. Персонализируем настройки вашего Терминала Windows
- Глава 5. Изменяем появление вашего Терминала Windows
- Глава 6. Настраиваем Быстрые клавиши
- Глава 7. Скрытые действия Терминала Windows
- Глава 8. Советы для применения PowerShell в качестве профессионала
- Глава 9. Советы для использования Ubuntu в качестве эксперта
- Раздел 3. Применяем ваш Терминал Windows для разработки
- Глава 10. Применение Git и GitHub в Терминале Windows
- Глава 11. Сборка веб приложений при помощи React
- Глава 12. Сборка REST API при помощи C# и Терминала Windows
- Глава 13. Подключение к удалённым системам
- Глава 14. Управление системами в облаке
- Дополнение A. Действия Терминала Windows
- Указатель