WSL常见命令

基础管理

bash 复制代码
# 查看已安装的发行版
wsl -l -v

# 安装默认 Ubuntu 发行版
wsl --install

# 安装指定发行版
wsl --install -d <DistroName>

# 列出可用的在线发行版
wsl --list --online

# 关闭所有 WSL 实例
wsl --shutdown

# 重启 WSL
wsl --shutdown && wsl

进入与退出

bash 复制代码
# 进入默认发行版
wsl

# 进入指定发行版
wsl -d <DistroName>

# 以 root 用户进入
wsl -u root

# 在 Windows 中直接执行 WSL 命令
wsl ls -la

文件与目录

bash 复制代码
# 从 Windows 路径进入 Linux(C 盘对应 /mnt/c)
cd /mnt/c/Users/<username>/Desktop

# 从 Linux 打开 Windows 文件资源管理器
explorer.exe .

# 从 Windows 访问 Linux 文件路径
\\wsl$\Ubuntu\home\<user>\

# 复制文件到 Windows
cp file.txt /mnt/c/Users/<username>/Desktop/

# 复制文件从 Windows 到 Linux
cp /mnt/c/Users/<username>/Desktop/file.txt ./

网络相关

bash 复制代码
# 查看 WSL IP 地址
ip addr show eth0 | grep inet

# 查看 Windows 宿主机 IP(从 WSL 内部)
cat /etc/resolv.conf | grep nameserver | awk '{print $2}'

# 端口转发(Windows PowerShell 管理员执行)
netsh interface portproxy add v4tov4 listenport=<WinPort> connectaddress=<WSL_IP> connectport=<LinuxPort>

# 删除端口转发
netsh interface portproxy delete v4tov4 listenport=<WinPort>

# 查看端口转发规则
netsh interface portproxy show v4tov4

服务管理

bash 复制代码
# 启动 systemd 服务
sudo systemctl start <service>

# 查看服务状态
sudo systemctl status <service>

# 启用服务开机自启
sudo systemctl enable <service>

磁盘与资源

bash 复制代码
# 查看磁盘使用情况
df -h

# 查看内存使用
free -h

导入与导出

bash 复制代码
# 导出发行版为 tar 文件
wsl --export <DistroName> <FilePath>.tar

# 从 tar 文件导入发行版
wsl --import <DistroName> <InstallPath> <FilePath>.tar

# 注销(删除)发行版
wsl --unregister <DistroName>

配置

bash 复制代码
# 设置默认发行版
wsl --set-default <DistroName>

# 设置 WSL 版本(1 或 2)
wsl --set-version <DistroName> <Version>

# 设置默认 WSL 版本
wsl --set-default-version 2

# 查看 WSL 版本
wsl --version

# 更新 WSL 内核
wsl --update

wsl.conf 常用配置

ini 复制代码
[boot]
systemd=true

[automount]
enabled=true
root=/mnt/

[network]
generateResolvConf=true

常见问题排查

bash 复制代码
# 修复 WSL 网络(Windows PowerShell 中执行)
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

# 压缩 WSL 虚拟磁盘(PowerShell 管理员)
Optimize-VHD -Path "$env:LOCALAPPDATA\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx" -Mode Full