- Основные команды для WSL
- Установка
- Список доступных дистрибутивов Linux
- Список установленных дистрибутивов Linux
- Указание версии WSL (1 или 2)
- Указание версии WSL по умолчанию
- Указание дистрибутива Linux по умолчанию
- Изменение каталога на домашний
- Запуск определенного дистрибутива Linux из PowerShell или CMD
- Обновление WSL
- Проверка состояния WSL
- Проверка версии WSL
- Команда help
- Выполнение от имени определенного пользователя
- Изменение пользователя по умолчанию для распределения
- Shutdown
- Завершение
- Импорт и экспорт дистрибутива
- Импорт дистрибутива на месте
- Отмена регистрации или удаление дистрибутива Linux
- Подключение диска или устройства
- Отключение дисков
- Нерекомендуемые команды WSL
- Сответствие консольных команд Windows и Linux.
- Использование команд Linux в среде Windows.
Основные команды для WSL
Далее приведены команды WSL в формате, поддерживаемом PowerShell или командной строкой Windows. Чтобы выполнить эти команды из командной строки дистрибутива Bash или Linux, измените wsl на wsl.exe . Чтобы получить полный список команд, выполните команду wsl —help .
Установка
Установите WSL и дистрибутив Ubuntu по умолчанию для Linux. Подробнее. Эту команду также можно использовать для установки дополнительных дистрибутивов Linux, выполнив команду wsl —install . Чтобы получить допустимый список имен дистрибутивов, выполните команду 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 или более ранней версии, может потребоваться включить -d флаг с командой —install , чтобы указать дистрибутив: wsl —install -d .
Список доступных дистрибутивов Linux
Выводит список дистрибутивов Linux, доступных в интернет-магазине. Эту команду можно также указать так: wsl -l -o .
Список установленных дистрибутивов Linux
Выводит список дистрибутивов Linux, установленных на компьютере под управлением Windows, в том числе состояние (независимо от того, запущен дистрибутив или остановлен) и версию WSL, в которой работает дистрибутив (WSL 1 или WSL 2). Применяется в WSL 1 и WSL 2. Эту команду можно также указать так: wsl -l -v . Дополнительные параметры, которые можно использовать с командой list: —all — для перечисления всех дистрибутивов, —running — для вывода списка только тех дистрибутивов, которые запущены в данный момент, —quiet — для отображения только имен дистрибутивов.
Указание версии WSL (1 или 2)
Чтобы указать версию WSL (1 или 2), в которой работает дистрибутив Linux, измените на имя дистрибутива, а — на число 1 или 2. Применяется в WSL 1 и WSL 2.
Указание версии WSL по умолчанию
Чтобы задать WSL 1 или WSL 2 как версию по умолчанию, измените на число 1 или 2, чтобы указать версию WSL, которая будет использоваться по умолчанию для установки новых дистрибутивов Linux. Например, wsl —set-default-version 2 . Применяется в WSL 1 и WSL 2.
Указание дистрибутива Linux по умолчанию
Чтобы задать дистрибутив Linux по умолчанию, который команды WSL будут использовать для запуска, измените на имя предпочитаемого дистрибутива Linux.
Изменение каталога на домашний
Команду ~ можно использовать с WSL для запуска в домашнем каталоге пользователя. Чтобы в командной строке WSL вернуться в домашний каталог из другого, можно использовать команду cd ~ .
Запуск определенного дистрибутива Linux из PowerShell или CMD
Чтобы запустить определенный дистрибутив Linux от имени конкретного пользователя, измените на имя предпочитаемого дистрибутива Linux (например, Debian), а — на имя существующего пользователя (например, root). Если указанный пользователь не существует в дистрибутиве WSL, появится сообщение об ошибке. Чтобы ввести имя текущего пользователя, выполните команду whoami .
Обновление WSL
Обновите версию WSL до последней версии. Возможны следующие значения.
Проверка состояния WSL
Отображает общие сведения о конфигурации WSL, такие как тип дистрибутива по умолчанию, дистрибутив по умолчанию и версия ядра.
Проверка версии WSL
Проверьте сведения о версии WSL и его компонентах.
Команда help
Отображает список параметров и команд, доступных в WSL.
Выполнение от имени определенного пользователя
Чтобы запустить WSL в качестве указанного пользователя, замените именем пользователя, который существует в распределении WSL.
Изменение пользователя по умолчанию для распределения
Измените пользователя по умолчанию для входа распределения. Чтобы стать пользователем по умолчанию, пользователь должен уже существовать в распределении.
Например, ubuntu config —default-user johndoe изменит пользователя по умолчанию для распределения Ubuntu на пользователя «johndoe».
Если вам не удается определить имя распределения, используйте команду wsl -l .
Эта команда не будет работать для импортированных дистрибутивов, так как у них нет исполняемого средства запуска. Вместо этого можно изменить пользователя по умолчанию для импортированных дистрибутивов с помощью файла /etc/wsl.conf . См. раздел «Параметры автоматического подключения» в документе Настройка дополнительных параметров.
Shutdown
Немедленно завершает работу всех запущенных дистрибутивов и облегченной служебной виртуальной машины с WSL 2. Эта команда может потребоваться в экземплярах, требующих перезапуска среды виртуальных машин WSL 2, например при изменении ограничений использования памяти или внесении изменений в файл .wslconfig.
Завершение
Чтобы завершить работу определенного дистрибутива или остановить его выполнение, замените именем нужного дистрибутива.
Импорт и экспорт дистрибутива
Импортирует и экспортирует указанный tar-файл в качестве нового дистрибутива. Именем файла может быть «-» для стандартного ввода. Возможны следующие значения.
- —vhd : указывает, что дистрибутив импорта и экспорта должен быть VHDX-файлом, а не TAR-файлом.
- —version : только для импорта указывает, следует ли импортировать дистрибутив как дистрибутив WSL 1 или WSL 2.
Импорт дистрибутива на месте
Импортирует указанный VHDX-файл в качестве нового дистрибутива. Виртуальный жесткий диск должен быть отформатирован с типом файловой системы ext4.
Отмена регистрации или удаление дистрибутива Linux
Хотя распределения Linux можно устанавливать из Microsoft Store, через Store их удалить невозможно.
Чтобы отменить регистрацию и удалить распределение WSL, выполните следующие действия:
При замене именем целевого распределения Linux регистрация этого распределения в WSL будет отменена, чтобы его можно было переустановить или очистить. Внимание. После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим распределением, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива. Например, wsl —unregister Ubuntu удалит Ubuntu из распределений, доступных в WSL. После запуска wsl —list раскроет, что он больше не в списке.
Вы также можете удалить приложение дистрибутива Linux на компьютере под управлением Windows так же, как и любое другое приложение из Store. Чтобы переустановить его, найдите это распределение в Microsoft Store и нажмите «Запустить».
Подключение диска или устройства
Позволяет подключить физический диск во всех дистрибутивах WSL 2, изменив на путь к каталогу или файлу, где расположен диск. См. статью Подключение диска Linux в WSL 2. Возможны следующие значения.
- —vhd : указывает, что относится к виртуальному жесткому диску.
- —name : подключите диск, используя пользовательское имя для точки подключения.
- —bare : подключение диска к WSL 2 без подключения к файловой системе.
- —type : тип файловой системы, используемой при подключении диска, если не указано значение по умолчанию (ext4). Эту команду можно также указать так: wsl —mount -t . Тип файловой системы можно определить с помощью команды blkid , например: blkid .
- —partition : номер раздела для подключения согласно индексу, если не указан вариант по умолчанию (весь диск).
- —options . Некоторые параметры, относящиеся к файловой системе, можно добавить при подключении диска. Например, параметры подключения к 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
wslconfig.exe [Argument] [Options]
Эти команды с исходным синтаксисом WSL использовались для настройки дистрибутивов Linux, установленных с помощью WSL, но были заменены командами с синтаксисом wsl или wsl.exe .
Сответствие консольных команд Windows и Linux.
При переходе с Windows на Linux и наоборот, для тех, кто знаком с командной строкой, может пригодиться небольшая справка по соответствию консольных команд этих операционных систем. Естественно, полного соответствия, за редким исключением, не бывает, и в приведенной таблице собраны команды, идентичные по результатам выполнения или функционально близкие.
Соответствие команд CMD Windows командам Linux
Строчные и заглавные буквы для команд командной строки Windows воспринимаются одинаково, ECHO и echo — будет интерпретировано как одна и та же команда. При работе в командной строке Linux соблюдение регистра символов обязательно.
И в Linux, и в Windows используются специальные символы (иногда их еще называют метасимволами), которые интерпретируются оболочкой пользователя как определенные команды или данные.
Наиболее распространенные спецсимволы CMD Windows и оболочки bash Linux
Описание | Спецсимвол CMD Windows | Спецсимвол Linux |
Объединение команд | | и & (|| и &&) | | и & (|| и &&) |
Выполнение задачи в фоновом режиме | & | |
Подстановочные значения в строках | * и ? | * и ? |
Набор символов | [ ] | |
Отмена спецсимвола | ^ | \ |
Перенаправление ввода | или >> | > или >> |
Значение переменной | %переменная% | $переменная |
Домашний каталог | ~ | |
Текущий каталог | . | . |
Родительский каталог | .. | .. |
Комментарий | # |
В Linux набор спецсимволов зависит от используемой оболочки, и в любой из них спецсимволы используются чаще и их набор больше, чем в командной строке Windows. При чем, даже если спецсимволы одинаковы, их применение может приводить к разным результатам. Например, шаблоны имен файлов, задаваемые с помощью символа звездочки:
*.* — и в Linux, и в Windows такая конструкция означает – ”любые имена файлов с любым расширением”.
Аналогичным образом используется и знак вопроса, означающий ”любой одиночный символ” и в Linux, и в Windows.
test?.* — все файлы, имена которых начинаются со строки test и имеющие после нее любой символ. Однако особенности реализации командных интерпретаторов, могут приводить все же к разным результатам использования вроде бы аналогичных конструкций:
ls . * — эта команда Linux отобразит список файлов с длиной имени в 5 символов.
dir . * — эта команда Windows отобразит список файлов с длиной имени в 5 символов и меньше.
При использовании шаблона . txt в Windows отобразятся все файлы с именами длиной в 5 символов и менее, с расширением и .txt и .TXT. В Linux – с именами в 5 символов, и только те файлы, у которых расширение не содержит заглавные буквы.
Использование команд Linux в среде Windows.
С появлением в Windows 10 Подсистемы Windows для Linux (WSL – Windows Subsystem for Linux) пользователь получил возможность использовать в командной строке Windows команды оболочки Linux, появилась возможность создавать сценарии, в которых будут использоваться и команды CMD Windows, и команды оболочки Linux. Например, командный файл для вывода списка определенных файлов каталога C:\Windows\System32:
REM вывод списка файлов с 3-символьными именами и
REM расширением .exe средствами Linux
wsl ls /mnt/c/windows/system32/. exe
REM вывод списка файлов с 3-символьными именами и
REM расширением .exe средствами Windows
По умолчанию, Подсистема Windows для Linux не включена. Как ее включить и настроить – в отдельной статье, ссылка на которую приведена в конце страницы.
После установки и настройки WSL, в командных файлах CMD Windows можно использовать утилиту wsl.exe , обеспечивающую конфигурирование и выполнение команд Linux.
wsl ls /mnt/c/windows/system32/. exe — команда wsl, обеспечивающая исполнение в обычном bat-файле линуксовой команды ls /mnt/c/windows/system32/. exe .
После установки подсистемы WSL, кроме утилиты wsl.exe в среде Windows будут присутствовать еще и утилиты wslconfig.exe и bash.exe обеспечивающие максимальную совместимость Windows и Linux.