Основные команды для WSL
Далее приведены команды WSL в формате, поддерживаемом PowerShell или командной строкой Windows. Чтобы выполнить эти команды из командной строки дистрибутива Bash или Linux, измените wsl
на wsl.exe
. Для полного списка команд выполните команду wsl --help
. Если вы еще не сделали этого, мы рекомендуем обновить версию WSL, установленную из Microsoft Store , чтобы получать обновления WSL сразу после их доступности. (Узнайте больше об установке WSL через Microsoft Store.).
Установка
wsl --install
Установите WSL и дистрибутив Ubuntu по умолчанию Linux. Подробнее. Эту команду можно также использовать для установки дополнительных дистрибутивов Linux, выполнив команду wsl --install <Distribution Name>
. Для допустимого списка имен рассылки выполните команду wsl --list --online
.
Возможные варианты:
--distribution
: укажите дистрибутив Linux для установки. Доступные дистрибутивы можно найти, выполнив командуwsl --list --online
.--no-launch
: установите дистрибутив Linux, но не запускайте его автоматически.--web-download
: установите из интернет-источника, а не с помощью Microsoft Store.
Если WSL не установлен, включите следующие параметры:
--inbox
: устанавливает WSL с помощью компонента Windows вместо использования Microsoft Store. (Обновления WSL будут получены через обновления Windows, а не вытеснены как доступные через магазин).--enable-wsl1
: включает WSL 1 во время установки версии WSL в Microsoft Store, также включив необязательный компонент "подсистема Windows для Linux".--no-distribution
: не устанавливайте дистрибутив при установке WSL.
Примечание.
Если вы запускаете WSL в Windows 10 или более старой версии, может потребоваться включить флаг с --install
командой, чтобы указать -d
распределение: wsl --install -d <distribution name>
Список доступных дистрибутивов Linux
wsl --list --online
Выводит список дистрибутивов Linux, доступных в интернет-магазине. Эту команду можно также указать так: wsl -l -o
.
Список установленных дистрибутивов Linux
wsl --list --verbose
Выводит список дистрибутивов Linux, установленных на компьютере под управлением Windows, в том числе состояние (независимо от того, запущен дистрибутив или остановлен) и версию WSL, в которой работает дистрибутив (WSL 1 или WSL 2). Применяется в WSL 1 и WSL 2. Эту команду можно также указать так: wsl -l -v
. Дополнительные параметры, которые можно использовать с командой list: --all
— для перечисления всех дистрибутивов, --running
— для вывода списка только тех дистрибутивов, которые запущены в данный момент, --quiet
— для отображения только имен дистрибутивов.
Указание версии WSL (1 или 2)
wsl --set-version <distribution name> <versionNumber>
Чтобы указать версию WSL (1 или 2), в которой работает дистрибутив Linux, измените <distribution name>
на имя дистрибутива, а <versionNumber>
— на число 1 или 2. Применяется в WSL 1 и WSL 2. Подсистема WSL 2 доступна только в Windows 11 или Windows 10 версии 1903, сборки 18362 или выше.
Предупреждение
Переключение между WSL 1 и WSL 2 может занять много времени и привести к сбоям из-за различий между двумя архитектурами. Для дистрибутивов с большими проектами рекомендуется создать резервную копию файлов перед попыткой преобразования.
Указание версии WSL по умолчанию
wsl --set-default-version <Version>
Чтобы задать версию WSL 1 или WSL 2 по умолчанию, замените <Version>
номер 1 или 2. Например, wsl --set-default-version 2
. Номер представляет версию WSL по умолчанию для новых установок дистрибутива Linux. Применяется в WSL 1 и WSL 2. Подсистема WSL 2 доступна только в Windows 11 или Windows 10 версии 1903, сборки 18362 или выше.
Указание дистрибутива Linux по умолчанию
wsl --set-default <Distribution Name>
Чтобы задать дистрибутив Linux по умолчанию, который команды WSL будут использовать для запуска, измените <Distribution Name>
на имя предпочитаемого дистрибутива Linux.
Изменение каталога на домашний
wsl ~
Команду ~
можно использовать с WSL для запуска в домашнем каталоге пользователя. Чтобы в командной строке WSL вернуться в домашний каталог из другого, можно использовать команду cd ~
.
Запуск определенного дистрибутива Linux из PowerShell или CMD
wsl --distribution <Distribution Name> --user <User Name>
Чтобы запустить определенный дистрибутив Linux от имени конкретного пользователя, измените <Distribution Name>
на имя предпочитаемого дистрибутива Linux (например, Debian), а <User Name>
— на имя существующего пользователя (например, root). Если указанный пользователь не существует в дистрибутиве WSL, появится сообщение об ошибке. Чтобы ввести имя текущего пользователя, выполните команду whoami
.
Обновление WSL
wsl --update
Обновите версию WSL до последней версии. Возможные варианты:
--web-download
: скачайте последнее обновление из GitHub, а не в Microsoft Store.
Проверка состояния WSL
wsl --status
Отображает общие сведения о конфигурации WSL, такие как тип дистрибутива по умолчанию, дистрибутив по умолчанию и версия ядра.
Проверка версии WSL
wsl --version
Проверьте сведения о версии WSL и его компонентах.
Команда help
wsl --help
Отображает список параметров и команд, доступных в WSL.
Выполнение от имени определенного пользователя
wsl --user <Username>
Чтобы запустить WSL в качестве указанного пользователя, замените <Username>
именем пользователя, который существует в распределении WSL.
Изменение пользователя по умолчанию для распределения
<DistributionName> config --default-user <Username>
Измените пользователя по умолчанию для входа распределения. Чтобы стать пользователем по умолчанию, пользователь должен уже существовать в распределении.
Например, ubuntu config --default-user johndoe
изменит пользователя по умолчанию для распределения Ubuntu на пользователя "johndoe".
Примечание.
Если вам не удается определить имя распределения, используйте команду wsl -l
.
Предупреждение
Эта команда не будет работать для импортированных дистрибутивов, так как у них нет исполняемого средства запуска. Вместо этого можно изменить пользователя по умолчанию для импортированных дистрибутивов с помощью файла /etc/wsl.conf
. См. раздел "Параметры автоматического подключения" в документе Настройка дополнительных параметров.
Завершение работы
wsl --shutdown
Немедленно завершает работу всех запущенных дистрибутивов и облегченной служебной виртуальной машины с WSL 2. Эта команда может потребоваться в экземплярах, требующих перезапуска среды виртуальных машин WSL 2, например при изменении ограничений использования памяти или внесении изменений в файл .wslconfig.
Увольнение
wsl --terminate <Distribution Name>
Чтобы завершить работу определенного дистрибутива или остановить его выполнение, замените <Distribution Name>
именем нужного дистрибутива.
Определение IP-адреса
wsl hostname -I
: возвращает IP-адрес дистрибутива Linux, установленный через WSL 2 (адрес виртуальной машины WSL 2)ip route show | grep -i default | awk '{ print $3}'
: возвращает IP-адрес компьютера Windows, как видно из WSL 2 (виртуальная машина WSL 2)
Более подробное описание см. в разделе "Доступ к сетевым приложениям с помощью WSL: определение IP-адреса".
Экспорт дистрибутива
wsl --export <Distribution Name> <FileName>
Экспортирует моментальный снимок указанного распределения в виде нового файла распространения. По умолчанию используется формат tar. Имя файла может быть -
для стандартных входных данных. Возможные варианты:
--vhd
: указывает, что распределение экспорта должно быть VHDX-файлом вместо tar-файла (это поддерживается только с помощью WSL 2)
Импорт дистрибутива
wsl --import <Distribution Name> <InstallLocation> <FileName>
Импорт указанного TAR-файла в качестве нового дистрибутива. Имя файла может быть -
для стандартных входных данных. Возможные варианты:
--vhd
: указывает распределение импорта должно быть VHDX-файлом вместо tar-файла (это поддерживается только с помощью WSL 2)--version <1/2>
: указывает, следует ли импортировать распределение в виде дистрибутива WSL 1 или WSL 2.
Импорт распределения на месте
wsl --import-in-place <Distribution Name> <FileName>
Импортирует указанный VHDX-файл в качестве нового дистрибутива. Виртуальный жесткий диск должен быть отформатирован в типе файловой системы ext4.
Отмена регистрации или удаление дистрибутива Linux
Хотя распределения Linux можно устанавливать из Microsoft Store, через Store их удалить невозможно.
Чтобы отменить регистрацию и удалить распределение WSL, выполните следующие действия:
wsl --unregister <DistributionName>
При замене <DistributionName>
именем целевого распределения Linux регистрация этого распределения в WSL будет отменена, чтобы его можно было переустановить или очистить. Внимание. После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим распределением, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива. Например, wsl --unregister Ubuntu
удалит Ubuntu из распределений, доступных в WSL. После запуска wsl --list
раскроет, что он больше не в списке.
Вы также можете удалить приложение дистрибутива Linux на компьютере под управлением Windows так же, как и любое другое приложение из Store. Чтобы переустановить его, найдите это распределение в Microsoft Store и нажмите "Запустить".
Подключение диска или устройства
wsl --mount <DiskPath>
Позволяет подключить физический диск во всех дистрибутивах WSL 2, изменив <DiskPath>
на путь к каталогу или файлу, где расположен диск. См. статью Подключение диска Linux в WSL 2. Возможные варианты:
--vhd
: указывает, что<Disk>
относится к виртуальному жесткому диску.--name
: подключение диска с помощью настраиваемого имени для точки подключения--bare
: подключение диска к WSL 2 без подключения к файловой системе.--type <Filesystem>
: тип файловой системы, используемой при подключении диска, если не указано значение по умолчанию (ext4). Эту команду можно также указать так:wsl --mount -t <Filesystem>
. Тип файловой системы можно определить с помощью командыblkid <BlockDevice>
, например:blkid <dev/sdb1>
.--partition <Partition Number>
: номер раздела для подключения согласно индексу, если не указан вариант по умолчанию (весь диск).--options <MountOptions>
. Некоторые параметры, относящиеся к файловой системе, можно добавить при подключении диска. Например, параметры подключения к ext4:wsl --mount -o "data-ordered"
илиwsl --mount -o "data=writeback
. Но сейчас поддерживаются только параметры, относящиеся к файловой системе. Общие параметры, такие какro
,rw
илиnoatime
, не поддерживаются.
Примечание.
Если для доступа к wsl.exe (64-разрядному средству) используется 32-разрядный процесс, вам может потребоваться выполнить указанную выше команду следующим образом: C:\Windows\Sysnative\wsl.exe --command
.
Отключите диски
wsl --unmount <DiskPath>
Отключите диск, указанный в пути к диску, если путь к диску не указан, эта команда отключит и отсоединит все подключенные диски.
Нерекомендуемые команды WSL
wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]
Эти команды с исходным синтаксисом WSL использовались для настройки дистрибутивов Linux, установленных с помощью WSL, но были заменены командами с синтаксисом wsl
или wsl.exe
.
Windows Subsystem for Linux