WSL常用命令
WSL 所有高频常用命令,按「核心管理」「系统操作」「配置调试」三类整理,覆盖安装、启动、迁移、关闭、排查等全场景,遇到具体场景对应找就行。
一、核心管理命令
这是日常管理 WSL 系统的核心命令,覆盖安装、查看、启动、关闭、卸载等基础操作。
| 命令 | 作用 | 示例 |
|---|---|---|
wsl -l -v |
查看已安装的所有 WSL 系统(显示状态/版本) | wsl -l -v |
wsl -l -o |
查看可安装的官方 Linux 发行版 | wsl -l -o |
wsl --install -d <系统名> |
安装指定 Linux 系统 | wsl --install -d Ubuntu-24.04 |
wsl -d <系统名> |
启动指定 Linux 系统 | wsl -d Ubuntu-24.04 |
wsl |
启动默认 Linux 系统 | wsl |
wsl --terminate <系统名> |
关闭指定 Linux 系统 | wsl --terminate Ubuntu-24.04 |
wsl --shutdown |
关闭所有 WSL 系统(释放内存/资源) | wsl --shutdown |
wsl --unregister <系统名> |
卸载指定 Linux 系统(删除所有数据) | wsl --unregister Ubuntu-22.04 |
wsl --set-default <系统名> |
设置默认启动的 Linux 系统 | wsl --set-default Ubuntu-24.04 |
wsl --set-version <系统名> 2 |
将指定系统切换为 WSL2(需先装内核) | wsl --set-version Ubuntu-24.04 2 |
wsl --set-default-version 2 |
设置所有新安装系统默认用 WSL2 | wsl --set-default-version 2 |
二、系统迁移/备份命令
以下这组命令是高频需求:
| 命令 | 作用 | 示例 |
|---|---|---|
wsl --export <系统名> <备份路径> |
导出 Linux 系统为 tar 备份文件 | wsl --export Ubuntu-24.04 D:\wsl_backup\ubuntu24.tar |
wsl --import <新系统名> <目标路径> <备份文件> --version 2 |
导入备份文件到指定路径(WSL2) | wsl --import Ubuntu-24.04 D:\WSL\Ubuntu-24.04 D:\wsl_backup\ubuntu24.tar --version 2 |
wsl --manage <系统名> --move <目标路径> |
一键迁移系统(Win11 新版支持) | wsl --manage Ubuntu-24.04 --move D:\WSL\Ubuntu-24.04 |
三、配置/调试命令
遇到问题时用于排查、配置的命令:
| 命令 | 作用 | 示例 |
|---|---|---|
wsl --status |
查看 WSL 整体状态(版本/内核等) | wsl --status |
wsl --update |
更新 WSL 内核和组件 | wsl --update |
wsl --help |
查看所有 WSL 命令及说明 | wsl --help |
wsl -l --running |
仅查看正在运行的 Linux 系统 | wsl -l --running |
<系统名>.exe config --default-user <用户名> |
恢复导入后默认用户(非 root) | Ubuntu-24.04.exe config --default-user myuser |
wsl --debug-shell |
打开 WSL 调试终端(高级排错) | wsl --debug-shell |
四、Linux 内常用配套命令(WSL 终端执行)
在 WSL 的 Linux 终端里,这些命令和系统操作配合使用:
| 命令 | 作用 |
|---|---|
exit |
退出 WSL 终端(系统仍后台运行) |
sudo poweroff |
彻底关闭当前 Linux 系统 |
lsb_release -a |
查看 Linux 发行版版本 |
uname -r |
查看 WSL 内核版本 |
IP
WSL2 安装后,它内部的 IP 地址并不是固定的,每次重启 WSL 都会动态变化。但可以通过几种简单的方法快速找到它。
一、快速查看当前 IP 地址
在 WSL 终端 内直接输入以下命令之一即可查看:
最通用命令 (推荐):
1
hostname -I输出通常是类似
172.20.98.123的地址。查看网络配置:
1
ip addr show eth0在
inet字段后就是你的 IP(例如172.20.98.123/20)。通过 Windows 主机访问:
WSL2 会通过 NAT 模式连接网络,你的 Windows 主机在 WSL 内部的网关 IP 通常是:1
192.168.xxx.1具体数值可以在 Windows 命令行 (
ipconfig) 中查看「以太网适配器 vEthernet (WSL)」的 IPv4 地址。
二、两个重要的 IP 概念
WSL2 的网络结构和虚拟机类似,你需要区分两个不同的 IP:
| IP 类型 | 典型地址 | 用途 | 稳定性 |
|---|---|---|---|
| WSL 内部 IP | 172.16.0.0/12 段(如 172.20.xx.xx) |
用于 Windows 访问 WSL (例如访问 WSL 内运行的服务) |
重启即变 (每次开机都会重新分配) |
| WSL 网关 IP | 192.168.xx.1 |
用于 WSL 访问 Windows (Windows 作为网关) |
固定 (通常不变,可在 Windows 端用 ipconfig 查看) |
三、如何配置镜像
可以按照以下步骤操作,但需要重新初始化 WSL:
关闭 WSL:
在 Windows 终端(PowerShell)执行:1
wsl --shutdown创建自定义配置文件:
在 Windows 宿主目录下,创建或编辑%UserProfile%/.wslconfig文件,内容如下:1
2
3
4
5
6[wsl2]
memory=12GB
processors=8
networkingMode=mirrored # 设置镜像
dnsTunneling=true
firewall=true重启 WSL 生效:
1
2
3wsl --shutdown
# 再次启动 WSL
wsl
💡 提示:
如果只是想在 Windows 浏览器访问 WSL 内运行的服务(如 npm run dev 启动的前端项目),**最简单的方法是使用 localhost 或 127.0.0.1**,WSL2 已自动完成端口转发,无需操心内部动态 IP。
networkingMode三种模式
networkingMode=mirrored 并不是 WSL2 的默认网络模式,WSL2 原生默认是 NAT 模式,mirrored 是后续新增的高级模式,需要手动配置才能启用。
一、WSL2 网络模式对比(核心区别)
| 模式 | 是否默认 | 核心特点 | 适用场景 | 系统要求 |
|---|---|---|---|---|
NAT(默认) |
✅ 是 | 1. WSL 有独立的内网 IP(172.xx.xx.xx) 2. 端口自动转发到 Windows localhost 3. 重启 WSL 后 IP 会变化 |
本地开发(访问 WSL 服务用 localhost) | 所有支持 WSL2 的 Windows 版本 |
mirrored(镜像) |
❌ 否 | 1. WSL 共享 Windows 主机的 IP,无独立内网 IP 2. 网络行为和 Windows 完全一致(端口、防火墙) 3. 无需关心 IP 变化,跨设备访问更方便 |
多设备调试(如手机访问 WSL 服务)、需要固定网络环境 | Windows 11 22H2+ / Windows 10 22H2+,且 WSL 版本 ≥ 1.2.0 |
bridged(桥接) |
❌ 否 | 1. WSL 获取和 Windows 同网段的独立 IP(如 192.168.1.xx) 2. 局域网内其他设备可直接访问 |
需要 WSL 作为独立网络节点(如搭建服务器) | Windows 11 23H2+,需手动指定网卡 |
二、关键补充说明
默认模式的验证方法
无需任何配置时,执行以下命令可确认默认模式是NAT:1
2# 在 Windows PowerShell 中执行
wsl --status输出中不会显示
networkingMode,说明使用默认的NAT模式;只有手动配置.wslconfig后,该参数才会生效。启用
mirrored的正确步骤
如果你需要切换到镜像模式,需按以下操作(确保系统版本符合要求):1
2
3
4
5
6# 编辑 Windows 下的 %UserProfile%\.wslconfig
[wsl2]
networkingMode=mirrored # 手动指定镜像模式
dnsTunneling=true # 同步 Windows DNS 配置
firewall=true # 共享 Windows 防火墙规则
localhostForwarding=false # 镜像模式下无需 localhost 转发保存后重启 WSL 生效:
1
2wsl --shutdown
wsl常见误区
不要混淆mirrored和NAT的端口访问逻辑:NAT模式:WSL 内运行的服务(如 8080 端口),Windows 侧用localhost:8080访问,局域网其他设备无法直接访问;mirrored模式:WSL 内的 8080 端口,局域网内其他设备可直接用 Windows 主机 IP(如 192.168.1.100:8080)访问。
总结
networkingMode=mirrored不是默认值,WSL2 原生默认是NAT模式;mirrored需手动配置.wslconfig并满足系统版本要求才能启用;- 日常本地开发用默认
NAT即可,需要跨设备访问 WSL 服务时再切换到mirrored。