一、写在前面的话
我日常开发中使用 WSL 的频率非常高。对于很多基于 Linux 的开发工作来说,使用 WSL 无疑是最便捷和稳妥的方案。
btw:其实AI给这篇文章拟定的标题是:”如何在 Windows 下优雅地使用 Linux?”笑不活了
个人最常用的场景就是开 WSL 写博客、跑 Node.js 项目,以及 SSH 免密直连 Github(虽然 Windows 环境下也可以直连,但在 Linux 下管理密钥和环境显然更纯粹)。
强烈推荐所有 Windows 平台的开发者都配置一下 WSL。
二、为什么选择 WSL?
相较于传统的 VMware/VirtualBox 虚拟机或装双系统,WSL(特别是 WSL2)拥有很大优势:
- 原生与性能:在 Windows 下直接运行纯正的 Linux 环境,启动仅需秒级,不用忍受传统虚拟机的笨重。
- 共享资源:网络互通,剪贴板共享。可以在 WSL 的终端里输入
explorer.exe .,直接用 Windows 的资源管理器打开当前的 Linux 文件夹。 - 生态兼容:无缝使用
apt、pip、npm等原生包管理器,完美支持 Docker Desktop,告别 Windows 下各种莫名其妙的环境编译报错。
三、安装与初始化流程
1. 极简安装
如果你使用的是较新的 Windows 10 或 Windows 11,安装已经变得极其简单。
以管理员身份打开 PowerShell,直接运行:
1 | wsl --install |
注:该命令会自动启用所需的可选组件,下载最新的 Linux 内核,并将 Ubuntu 设置为默认发行版。安装完成后重启电脑即可。
备用安装方案(针对旧版 Windows):
如果上述命令报错,你可以手动开启组件,依次执行:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
重启电脑后,再去微软应用商店搜索并安装 “Ubuntu”。
2. 首次登录与基础配置
重启并打开 Ubuntu 后,系统会提示你设置 Linux 的专属用户名与密码(输入密码时不可见,属于正常现象)。
进入系统后,第一件事就是更新包索引并安装常用构建工具:
1 | # 更新软件源与现有软件 |
3. 避坑:目录与文件规划
很多新手抱怨 WSL 运行代码特别卡,通常是因为跨文件系统访问造成的 I/O 性能损耗。remember:
Linux 项目必须放在 Linux 系统内:保持你的开发项目位于 WSL 的主目录下(例如
/home/<你的用户名>/workspace)。不要在/mnt/c/(即 Windows 的 C 盘)下直接运行 Node 或 Python 构建,否则跨系统 I/O 巨慢……不过这点存疑吧,其实我经常跨系统开发,大部分时候性能都能够忍受。
更新:不再存疑,原生系统速度 *10086如何在 Windows 下访问 Linux 文件?:在 Windows 资源管理器地址栏输入
\\wsl$即可直接看到 Linux 的系统盘,非常方便跨系统搬运文件。
四、WSL 高频命令
在 Windows 的 PowerShell 中,你可以使用以下命令来管理你的 WSL:
1 | # 查看已安装的 Linux 发行版及运行状态 (WSL1 还是 WSL2) |
注:如需回退到 WSL1 以便与某些极其古老的串口硬件/旧项目兼容,可对单个发行版执行 wsl --set-version <发行版名称> 1。
五、预告:WSL网络与代理问题
当你愉快地配置好基础环境,准备 git clone 下载 Github 上的源码,或者运行脚本下载依赖时,你偶尔可能会遇到连接超时的情况。
因为 WSL 的网络并不总是会自动继承 Windows 的科学上网代理。
关于如何在 WSL 中优雅地配置代理,解决诸如 Temporary failure resolving、访问内网失败等让人抓狂的网络问题,我们将在下一篇文章中深度剖析并给出终极自动配置脚本。
这个预告文风哈哈哈哈