Windows_wsl_intro
记录我从零开始搭建开发环境、踩坑、理解工具的一段真实过程。
一、为什么我要折腾 WSL?
目前正处在编程入门阶段,主要在学习 Python,后续学习Java后端,最终希望能完成一个完整的项目。
一开始我是在 Windows 上直接写代码的,但很快就遇到一些问题:
- 环境不统一(教程很多是 Linux)
- 一些工具在 Windows 上体验不好
- 命令行操作和服务器环境差距大
于是我开始接触一个东西:WSL(Windows Subsystem for Linux)
简单来说,它可以让我在 Windows 上直接运行一个 Linux 系统(比如 Ubuntu)。
二、第一次安装 WSL:一切并不顺利
1. 用户名直接卡住了我
在安装 Ubuntu 的时候,系统让我创建一个 Linux 用户:
Create a default Unix user account:
我当时输入的是:
MiYanjie
结果直接报错:
Invalid username. A valid username must start with a lowercase letter or underscore
👉 这里是我踩的第一个坑:
Linux 用户名必须是小写字母开头!
后来改成:
mie
就好了
2. “我是不是没进 Linux 目录?”
安装完成后,我输入:
wsl
结果看到路径是:
/mnt/c/Users/MiYanjie
我当时非常困惑:
❓ 不是说 Linux 有自己的文件系统吗?为什么我还在 C 盘?🙂
后来才明白:
/mnt/c是 Windows 磁盘挂载到 Linux 的路径- 我其实还在访问 Windows 文件
真正的 Linux 家目录应该是:
~
或者
/home/mie
👉 所以我学会了一个很重要的命令:
cd ~
这才算“真正进入 Linux 的系统磁盘😂
3. 代理警告(看不懂但很吓人)
我还看到这样一段提示:
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。
当时完全看不懂,以为出大问题了。
后来才知道:
👉 这是 Windows 有代理,但 WSL 没同步
可以先忽略,不影响学习
三、WSL 到底值不值得?
在折腾过程中,我也问了自己一个问题:
作为新手,我真的需要 WSL 吗?
我的结论是:
✅ 越早越好
原因很现实:
- 做后端基本都在 Linux 上部署
- Docker、服务器、云环境都是 Linux
- 提前适应命令行非常重要, 现在结合AI用CLI感觉更方便了, 而且非常快
四、Ubuntu 还是 Debian
安装的时候我还纠结过选哪个发行版:
| 对比项 | Ubuntu | Debian |
|---|---|---|
| 上手难度 | ⭐ 简单 | 稍难 |
| 稳定性 | 高 | 更高 |
| 软件新旧 | 较新 | 偏旧 |
| 社区支持 | 很强 | 强 |
👉 最终我选择了:
Ubuntu
五、VSCode + WSL:让我理解“开发环境”这件事
我还思考过一个问题:
VSCode 直接在 Windows 用,和 VSCode + WSL 有什么区别?
直接 Windows:
- 简单
- 适合初学
VSCode + WSL:
- 代码运行在 Linux
- 更接近真实服务器环境
- 适合后端开发
👉 这让我第一次理解:
开发环境 ≠ 编辑器,而是“代码运行在哪”
六、我逐渐建立的认知
通过这次折腾,我慢慢搞清楚了一些关键概念:
1. Windows ≠ Linux
- Windows 是桌面系统
- Linux 更偏开发/服务器
2. WSL 是桥梁
它让我:
- 不用放弃 Windows
- 又能使用 Linux
3. 文件系统是分开的
- Windows:
C:\ - Linux:
/home/... - 连接点:
/mnt/c
4. 命令行不是“高级操作”,而是基础能力
一开始我很抗拒命令行,但现在慢慢发现:
👉 它其实是程序员的“母语”, 而且能看明白还是非常有用的
七、给未来的自己
我现在的规划是:
Python基础
↓
Linux命令 & 开发环境
↓
Java后端(Spring Boot)
↓
数据库(MySQL)
↓
前端基础(HTML/CSS/JS)
↓
做一个完整项目
WSL 是这个路线里的一个关键起点。
八、总结:这次折腾的意义
这次安装 WSL,看起来只是一个环境配置,但对我来说意义挺大的:
- 第一次真正接触 Linux
- 第一次理解开发环境的区别
- 第一次解决真实报错
-
从“照着做”变成“开始理解为什么”