以下是 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 的日常开发需求!🚀