WSL(Windows Subsystem for Linux)是一个为Windows用户设计的兼容层,它允许用户在Windows 10和Windows 11操作系统上直接运行GNU/Linux环境。WSL提供了一个微软开发的Linux兼容内核接口,使得用户可以在不必启动虚拟机或使用双重启动设置的情况下,在Windows上运行大多数命令行工具、实用程序、应用程序以及服务。
通用格式:
wsl.exe [参数] [选项...][命令行]
参数详解:
运行 Linux 二进制文件的参数: 如果未提供命令行,wsl.exe 将启动默认 shell。
(1)常见用法
- 在默认的Linux发行版中执行指定的Linux命令,而不启动完整的shell。
格式: wsl -e
用法示例:
# 在 windows 终端命令窗口使用 cp 复制文件
wsl -e cp sql.txt tmp.txt
# 调用 axel命令多线程下载文件
wsl -e axel -n 5 https://apkegg.mumayi.cn/cooperation/2024/03/19/130/1309896/baozouyingxiongtan_V3.1.4_mumayi_742a9.apk
备注: wsl -e
- 使用提供的 shell 类型执行指定的命令。
--shell-type
它的三种用途:
- standard:使用标准的 shell(通常是 /bin/bash 或其他默认 shell)来执行命令。这不会读取用户的 shell 配置文件(如 .bashrc 或 .bash_profile),除非命令明确需要这样做。
- login:使用登录 shell 来执行命令。登录 shell 会读取用户的 shell 配置文件,因此它可以设置环境变量、别名等。
- none:不启动 shell,直接执行命令。但是,请注意,这个选项可能并不总是有效,因为某些命令可能需要在 shell 环境中运行
示例:
wsl -d Ubuntu --shell-type login -e pwd
- 将指定目录设置为当前工作目录。
格式: --cd
如果使用 ~,则将使用 Linux 用户的主路径。如果路径以 / 字符开始,它将解释为绝对 Linux 路径。否则,该值必须是绝对 Windows 路径。
示例:
# 进入子系统的家目录
wsl --cd ~
#进入指定目录
wsl --cd /mnt/d
# windows 路径
wsl --cd E:\go
- 运行指定的分发版
格式: --distribution, -d
用法示例:
wsl -d Ubuntu
- 以指定用户身份运行
格式: --user, -u
用法示例:
wsl -u www
- 为系统分发版启动 shell
格式: --system
(2)用于管理适用于 Linux 的 Windows 子系统的参数:
- 显示使用情况信息
wsl --help
- 出于诊断目的打开 WSL2 调试 shell
wsl --debug-shel
- 安装适用于 Linux 的 Windows 子系统分发版。
格式: --install [发行版] [选项...]
有关有效分发版的列表,请使用 'wsl.exe --list --online'。
选项:
--no-launch, -n : 安装后不要启动分发版。
--web-download: 从 Internet 而不是 Microsoft Store 下载分发版。
--no-distribution: 仅安装所需的可选组件,不安装分发版。
--enable-wsl1: 启用 WSL1 支持。
示例:
wsl --install Ubuntu
- 更改发行版特定选项
格式: --manage
选项:
--set-sparse, -s
- 在所有 WSL 2 分发版中附加和装载物理磁盘或虚拟磁盘
格式: --mount
选项:
--vhd:指定
--bare: 将磁盘附加到 WSL2,但不要装载它。
--name
--type
-options
--partition
- 更改新分发版的默认安装版本
格式: --set-default-version
wsl --set-default-version 2
- 立即终止所有正在运行的分发版和 WSL 2
wsl --shutdow
- 显示适用于 Linux 的 Windows 子系统状态
--status
- 从所有 WSL2 分发版中卸载和分离磁盘。 如果在没有参数的情况下调用,则卸载和分离所有磁盘。
格式: --unmount [磁盘]
- 从此计算机卸载适用于 Linux 的 Windows 子系统包。
--uninstall
- 更新适用于 Linux 的 Windows 子系统包。
--update
选项:
--pre-release: 下载预发行版本(如果可用)。
- 显示版本信息
--version, -v
(3)用于在适用于 Linux 的 Windows 子系统中管理分发版的参数:
- 将分发版导出到 tar 文件, 文件名可以是 - for stdout
格式: --export
选项:
--vhd: 指定应将分发版导出为 .vhdx 文件。
- 将指定的 tar 文件作为新分发版导入,文件名可以是 - for stdin。
格式: --import
选项:
--version
--vhd: 指定所提供的文件是 .vhdx 文件,而不是 tar 文件。此操作在指定的安装位置创建 .vhdx 文件的副本。
- 导出分发版子系统
格式: --import-in-place
将指定的 .vhdx 文件作为新分发版导入。
必须使用 ext4 文件系统类型设置此虚拟硬盘的格式。
- 列出分发版
格式: --list, -l [选项]
选项:
--all: 列出所有分发版,包括当前; 正在安装或卸载的分发版。
--running: 仅列出当前正在运行的分发版。
--quiet, -q: 仅显示分发版名称。
--verbose, -v: 显示有关所有分发版的详细信息。
--online, -o: 显示适合通过 'wsl.exe --install' 安装的可用分发版列表。
- 将分布版设置为默认值
格式: --set-default, -s
- 更改指定分发版的版本
格式: --set-version
- 终止指定的分发版
--terminate, -t
- 取消注册分发版并删除根文件系统
--unregister