以下是 WSL(Windows Subsystem for Linux)的常用命令大全,涵盖安装、管理、网络、文件交互等场景,方便快速查阅和使用:
1. 安装与版本管理
命令 |
说明 |
wsl --install |
默认安装 WSL 和 Ubuntu |
wsl --install -d <发行版名> |
指定安装其他发行版(如 Debian 、Kali-linux ) |
wsl --update |
更新 WSL 内核 |
wsl --set-default-version 2 |
设置新发行版的默认版本为 WSL 2 |
wsl --shutdown |
强制停止所有 WSL 实例 |
2. 发行版管理
命令 |
说明 |
wsl --list --verbose 或 wsl -l -v |
查看已安装的发行版及版本(1 或 2) |
wsl --set-version <发行版> 2 |
将指定发行版转换为 WSL 2 |
wsl --unregister <发行版> |
卸载指定发行版(会删除数据!) |
wsl --export <发行版> <备份文件.tar> |
导出发行版到备份文件 |
wsl --import <发行版> <安装路径> <备份文件.tar> |
从备份文件导入发行版 |
3. 运行与操作
命令 |
说明 |
wsl 或 wsl ~ |
默认发行版的交互式终端 |
wsl -d <发行版> |
启动指定发行版 |
wsl -e <Linux命令> |
直接执行 Linux 命令后退出(如 wsl -e ls / ) |
wsl --user <用户名> |
以指定用户身份启动 |
4. 文件系统交互
命令 |
说明 |
explorer.exe . |
在 Windows 资源管理器中打开当前 WSL 目录 |
notepad.exe file.txt |
用 Windows 记事本编辑 WSL 文件 |
powershell.exe <命令> |
在 WSL 中调用 PowerShell |
wslpath -w <Linux路径> |
将 Linux 路径转换为 Windows 路径(如 wslpath -w /home ) |
wslpath -u <Windows路径> |
将 Windows 路径转换为 Linux 路径 |
5. 网络相关
命令 |
说明 |
cat /etc/resolv.conf |
查看 WSL 2 的主机网关 IP(通常为 172.x.0.1 ) |
curl ifconfig.me |
查看 WSL 的公网 IP |
netsh interface portproxy add v4tov4 listenport=8080 connectport=80 connectaddress=172.x.x.x |
Windows 端口转发到 WSL |
export HTTP_PROXY="http://$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):1080" |
设置 WSL 使用主机代理 |
6. 系统服务管理
命令 |
说明 |
sudo service <服务名> start |
启动服务(如 ssh 、apache2 ) |
sudo systemctl start <服务名> |
(仅 WSL 2)使用 systemd 管理服务 |
wsl --terminate <发行版> |
终止指定发行版的运行 |
7. 高级配置
命令/文件 |
说明 |
nano ~/.wslconfig |
全局 WSL 2 配置(内存、CPU 限制等) |
[wsl2]
memory=4GB
processors=2 |
限制 WSL 2 内存为 4GB,CPU 为 2 核 |
sudo visudo |
编辑 sudoers 文件(谨慎操作!) |
8. 常见问题解决
问题 |
解决命令 |
WSL 2 无法启动 |
wsl --shutdown + 重启 Windows |
文件权限错误 |
sudo chmod -R 755 <目录> |
DNS 解析失败 |
sudo nano /etc/resolv.conf 修改 DNS |
磁盘空间不足 |
wsl --shutdown + diskpart 清理 |
9. 实用技巧
从 Windows 直接调用 WSL 命令:
wsl ls /var/log
在 VSCode 中集成 WSL:
code .
快速访问 Windows 文件:
cd /mnt/c/Users/你的用户名
版本兼容性说明
- WSL 1:网络与主机共享,适合需要直接访问主机服务(如 VPN)。
- WSL 2:性能更高(接近原生),但网络独立(需端口转发)。
通过以上命令,你可以高效管理 WSL 的日常开发需求!🚀