以下 WSL 命令以 PowerShell 或 Windows 命令提示符支持的格式列出。 若要通过 Bash/Linux 发行版命令行运行这些命令,必须将 wsl
替换为 wsl.exe
。 若要获取完整的命令列表,请运行 wsl --help
。
安装
wsl --install
安装 WSL 和 Linux 的默认 Ubuntu 发行版。 还可以使用此命令通过运行 wsl --install <Distribution Name>
来安装其他 Linux 发行版。 若要获取发行版名称的有效列表,请运行 wsl --list --online
。
选项包括:
--distribution
:指定要安装的 Linux 发行版。 可以通过运行wsl --list --online
来查找可用的发行版。--no-launch
:安装 Linux 发行版,但不自动启动它。--web-download
:通过联机渠道安装,而不是使用 Microsoft Store 安装。
未安装 WSL 时,选项包括:
--inbox
:使用 Windows 组件(而不是 Microsoft Store)安装 WSL。 (WSL 更新将通过 Windows 更新接收,而不是通过 Microsoft Store 中推送的可用更新来接收)。--enable-wsl1
:在安装 Microsoft Store 版本的 WSL 的过程中也启用“适用于 Linux 的 Windows 子系统”可选组件,从而启用 WSL 1。--no-distribution
:安装 WSL 时不安装发行版。
列出可用的 Linux 发行版
wsl --list --online
查看可通过在线商店获得的 Linux 发行版列表。 此命令也可输入为:wsl -l -o
。
列出已安装的 Linux 发行版
wsl --list --verbose
此命令也可输入为:wsl -l -v
。 可与 list 命令一起使用的其他选项包括:--all
(列出所有发行版)、--running
(仅列出当前正在运行的发行版)或 --quiet
(仅显示发行版名称)。
将 WSL 版本设置为 1 或 2
wsl --set-version <distribution name> <versionNumber>
设置默认 WSL 版本
wsl --set-default-version <Version>
设置默认 Linux 发行版
wsl --set-default <Distribution Name>
将目录更改为主页
wsl ~
~
可与 wsl 一起使用,以在用户的主目录中启动。 若要在 WSL 命令提示符中从任何目录跳回到主目录,可使用命令 cd ~
。
通过 PowerShell 或 CMD 运行特定的 Linux 发行版
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 --version
Help 命令
wsl --help
以特定用户的身份运行
wsl --user <Username>
更改发行版的默认用户
<DistributionName> config --default-user <Username>
更改用于发行版登录的默认用户。 用户必须已经存在于发行版中才能成为默认用户。
例如:ubuntu config --default-user johndoe
会将 Ubuntu 发行版的默认用户更改为“johndoe”用户。
关闭
wsl --shutdown
立即终止所有正在运行的发行版和 WSL 2 轻量级实用工具虚拟机。 在需要重启 WSL 2 虚拟机环境的情形下,例如更改内存使用限制或更改 .wslconfig 文件,可能必须使用此命令。
Terminate
wsl --terminate <Distribution Name>
若要终止指定的发行版或阻止其运行,请将 <Distribution Name>
替换为目标发行版的名称。
标识 IP 地址
wsl hostname -i
标识通过 WSL 2 安装的 Linux 分发版 IP 地址(WSL 2 VM 地址)cat /etc/resolv.conf
表示从 WSL 2 看到的 WINDOWS 计算机的 IP 地址 (WSL 2 VM)
导出分发版
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 发行版
wsl --unregister <DistributionName>
如果将 <DistributionName>
替换为目标 Linux 发行版的名称,则将从 WSL 取消注册该发行版,以便可以重新安装或清理它。 警告:取消注册后,与该分发版关联的所有数据、设置和软件将永久丢失。 从 Store 重新安装会安装分发版的干净副本。 例如:wsl --unregister Ubuntu
将从可用于 WSL 的发行版中删除 Ubuntu。 运行 wsl --list
将会显示它不再列出。
还可以像卸载任何其他应用商店应用程序一样卸载 Windows 计算机上的 Linux 发行版应用。 若要重新安装,请在 Microsoft Store 中找到该发行版,然后选择“启动”。
装载磁盘或设备
wsl --mount <DiskPath>
通过将 <DiskPath>
替换为物理磁盘所在的目录\文件路径,在所有 WSL2 发行版中附加和装载该磁盘。 请参阅在 WSL 2 中装载 Linux 磁盘。 选项包括:
--vhd
:指定<Disk>
引用虚拟硬盘。--name
:使用装入点的自定义名称装载磁盘--bare
:将磁盘附加到 WSL2,但不进行装载。--type <Filesystem>
:装载磁盘时使用的文件系统类型默认为 ext4(如果未指定)。 此命令也可输入为:wsl --mount -t <Filesystem>
。可以使用blkid <BlockDevice>
命令检测文件系统类型,例如:blkid <dev/sdb1>
。--partition <Partition Number>
:要装载的分区的索引号默认为整个磁盘(如果未指定)。--options <MountOptions>
:装载磁盘时,可以包括一些特定于文件系统的选项。 例如,wsl --mount -o "data-ordered"
或wsl --mount -o "data=writeback
之类的 ext4 装载选项。 但是,目前仅支持特定于文件系统的选项。 不支持通用选项,例如ro
、rw
或noatime
。
如果你正在运行 32 位进程来访问 wsl.exe(一种 64 位工具),那么你可能需要按如下方式运行此命令:C:\Windows\Sysnative\wsl.exe --command
。
卸载磁盘
wsl --unmount <DiskPath>
卸载磁盘路径中给定的磁盘,如果未提供磁盘路径,则此命令将卸载并分离所有已装载的磁盘。