下面的 WSL 命令以 PowerShell 或 Windows 命令提示符支持的格式列出。 要从 Bash/Linux 发行版的命令行运行这些命令,必须将 `wsl
` 替换为 `wsl.exe
`。 完整的命令列表,请运行 wsl --help
。 如果尚未这样做,我们建议 更新到从 Microsoft Store 安装的 WSL 版本 ,以便在可用后立即接收 WSL 更新。 (了解有关通过 Microsoft Store 安装 WSL 的详细信息。
安装
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 应用商店安装 WSL。 (WSL 更新将通过 Windows 更新接收,而不是通过应用商店按可用方式推送)。 -
--enable-wsl1
:在安装 Microsoft Store 版本的 WSL 时,启用 "适用于 Linux 的 Windows 子系统" 可选组件,从而启用 WSL 1。 -
--no-distribution
:安装 WSL 时不要安装分发版。
注释
如果在 Windows 10 或更早版本上运行 WSL,则可能需要将-d
标志包含在命令中--install
以指定分发版: wsl --install -d <distribution name>
列出可用的 Linux 分发版
wsl --list --online
请参阅通过在线商店提供的 Linux 分发版列表。 此命令也可以输入为: wsl -l -o
。
列出已安装的 Linux 分发版
wsl --list --verbose
查看 Windows 计算机上安装的 Linux 分发版的列表,包括状态(分发正在运行还是已停止),以及运行分发版的 WSL 版本(WSL 1 或 WSL 2)。
比较 WSL 1 和 WSL 2。 此命令也可以输入为: wsl -l -v
。 可用于列表命令的其他选项包括: --all
列出所有通讯组、 --running
仅列出当前正在运行的分发版或 --quiet
仅显示分发名称。
将 WSL 版本设置为 1 或 2
wsl --set-version <distribution name> <versionNumber>
若要指定 Linux 发行版运行的 WSL 版本(1 或 2),请将 <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
。 该数字表示默认用于新 Linux 发行版安装的 WSL 版本。
比较 WSL 1 和 WSL 2。 WSL 2 仅在 Windows 11 或 Windows 10 版本 1903 版本 18362 或更高版本中可用。
设置默认 Linux 分发版
wsl --set-default <Distribution Name>
若要设置 WSL 命令将用于运行的默认 Linux 发行版,请将 <Distribution Name>
替换为您首选的 Linux 发行版名称。
在用户家中启动 WSL
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 商店。
检查 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
:返回通过 WSL 2 安装的 Linux 分发版的 IP 地址(WSL 2 VM 地址) -
ip route show | grep -i default | awk '{ print $3}'
:返回从 WSL 2(WSL 2 VM)中看到的 Windows 计算机的 IP 地址
有关更详细的说明,请参阅 使用 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 分发版
虽然可以通过 Microsoft 应用商店安装 Linux 分发版,但无法通过应用商店卸载它们。
若要注销和卸载 WSL 分发版,
wsl --unregister <DistributionName>
将 <DistributionName>
替换为您目标的 Linux 发行版名称,会使该发行版从 WSL 中注销,以便您可以重新安装或清理它。
谨慎: 注销后,与该分发关联的所有数据、设置和软件都将永久丢失。 从应用商店重新安装将安装分发版的干净副本。 例如, wsl --unregister Ubuntu
将从 WSL 中可用的分发中删除 Ubuntu。 运行 wsl --list
将显示它不再列出。
还可以像任何其他应用商店应用程序一样卸载 Windows 计算机上的 Linux 分发应用。 若要重新安装,请在 Microsoft 应用商店中找到分发版,然后选择“启动”。
装载磁盘或设备
wsl --mount <DiskPath>
在所有 WSL2 分发版中,通过将 <DiskPath>
替换为磁盘所在的目录\文件路径来附加和装载物理磁盘。 请参阅 在 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>
:装载磁盘时,可以包含一些特定于文件系统的选项。 例如, ext4 装载选项 ,例如:wsl --mount -o "data-ordered"
或wsl --mount -o "data=writeback
。 但是,目前仅支持特定于文件系统的选项。 不支持泛型选项,例如ro
,rw
或noatime
。
注释
如果要运行 32 位进程才能访问 wsl.exe(64 位工具),则可能需要以下列方式运行命令: C:\Windows\Sysnative\wsl.exe --command
卸载磁盘
wsl --unmount <DiskPath>
卸载磁盘路径中给定的磁盘,如果未提供磁盘路径,则此命令将卸载并分离所有装载的磁盘。
弃用的 WSL 命令
wslconfig.exe [Argument] [Options]
bash [Options]
lxrun /[Argument]
这些命令是用于配置随 WSL 一起安装的 Linux 分发版的原始 wsl 语法,但已替换为 wsl
或 wsl.exe
命令语法。