Полезные команды WSL для PowerShell

  • Категория: Windows 10
  • Дата: 19-12-2020, 18:51
  • Просмотров: 10 569


Подсистема Windows для Linux имеет определённую степень кроссплатформенной совместимости с PowerShell и управляется из оболочки Windows. Давайте рассмотрим важные команды, которые могут вам пригодиться.

Подсистема Windows для Linux (WSL) представляет собой мощный инструмент. Последняя версия размещает в Windows 10 реальное ядро Linux. В будущем появится поддержка графического интерфейса приложений и возможность настраивать при помощи всего одной команды.

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

В этой статье мы рассмотрим важные команды, которые могут вам потребоваться.

Прежде чем вы установите WSL2, нужно получить WSL. Это может прозвучать странно, но методы активации первого поколения и второго поколения отличаются. Чтобы стать обладателем более современной версии, нужно сначала поставить первую версию. Напрямую установить WSL2 нельзя.

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

Откройте PowerShell с правами администратора и введите команду:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Можно перезагрузить компьютер сразу или потом.

Важные команды WSL для PowerShell


Если вы работаете с WSL2 или сочетанием обеих версий, среди основ есть команды для управления тем, какой дистрибутив Linux используется в каждой версии. Для этих команд более короткие версии доступны только в Windows 10 19041 и в более современных. В любом случае необходимо знать полные версии, чтобы понимать, что они делают.

Основы




Если у вас открыто окно PowerShell и вы хотите попасть в дистрибутив WSL Linux по умолчанию:

wsl

exit всегда возвращает вас обратно в PowerShell. Если вы хотите запустить определённый дистрибутив:

wsl -d <название дистрибутива>

Для запуска Debian команда будет

wsl -d debian

Можно упомянуть один из наиболее полезных инструментов для управления WSL, а именно вызов помощи:

wsl --help

Управление версиями WSL



Чтобы увидеть, какая версия WSL приписана к каждому из установленных дистрибутивов Linux:

wsl --list --verbose или wsl -l -v

Результаты покажут, какая из версий является дистрибутивом wsl по умолчанию. Если вы хотите только узнать, какой дистрибутив установлен, уберите опцию verbose.

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

wsl --set-default

или кратко

wsl -s

Например, если вы хотите установить Ubuntu как дистрибутив по умолчанию:

wsl -s ubuntu

Если вы обновились до WSL2 и хотите сделать эту версию вариантом по умолчанию:

wsl --set-default-version 2

В результате любая будущая установка Linux будет использовать WSL2, но не уже установленную первую версию WSL. Это преобразование нужно выполнять вручную. Чтобы поменять привязанную к дистрибутиву версию WSL:

wsl --set -version <имя дистрибутива> <версия>

Например, для смены Debian на WSL 2:

wsl --set -version Debian 2



Запуск команд при помощи wsl.exe


Можно запускать некоторые команды Linux без необходимости сначала открывать отдельную оболочку. Это особенно удобно для быстрых процессов, вроде запуска обновления.


Используется шаблон wsl <аргумент> <опции> <командная строка>

Если вы хотите запустить команды в дистрибутиве Linux по умолчанию, задавать аргумент не нужно. Например, для запуска команды sudo apt update для Ubuntu, если этот дистрибутив у вас по умолчанию, введите:

wsl sudo apt update

Вы получите запрос на пароль Linux, но в остальном можно выполнять команды, не покидая PowerShell. Если вы хотите использовать определённую версию Linux, нужно использовать аргумент и опцию. Используем эту же команду для Debian:

wsl --distribution debian sudo apt update

Где --distribution или -d аргумент, debian опция.


Это работает для всех типов команд может использоваться для установки программного обеспечения. Также поддерживаются стандартные флаги Linux, вроде -y, для автоматического приёма. В качестве примера рассмотрим команду установки youtube-dl на Debian key-test с применением wsl.exe:

wsl -d debian sudo apt install youtube-dl -y

Как при запуске приложений и других стандартных функций в Linux, можно использовать аналогичный шаблон. Чтобы использовать определённого пользователя из многих, у шаблона выше можно написать --user или -u , даже если задействуются аргументы.



Управление WSL



Есть базовые команды для управления WSL. Некоторые из них мы уже назвали, вроде списка дистрибутивов и задания варианта по умолчанию.

Если вы хотите экспортировать дистрибутив в файле tar:

wsl --export <дистрибутив> <местоположение> <имя файла>

Важно ввести полный путь к файлу, который вы хотите создать. В примере ниже создаётся экспорт Debian в папку Code на диске C:\ и называется debiantest.

wsl --export debian c:\code\debiantest.tar


Также с этим же шаблоном можно импортировать файл tar, поменяв аргумент --export на --import. Для запуска импортированного дистрибутива:

wsl --distribution <название дистрибутива>

После импортирования создаётся файл debiantest. Для его запуска:

wsl --distribution debiantest1
  • +1




  • Комментарии
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Пользователи онлайн
Всего на сайте: 18
Пользователей: 0
Гостей: 18
Роботы: Yandex
+0  
Новостей: 6411
+0  
Комментариев: 1520
+0  
Пользователей: 5016
Опрос Все опросы

Нравится ли вам название Windows 11?


Youtube Подписывайся!