主题
01 · 为什么学服务器命令行:环境与心智
目标:建立「云 Ubuntu 为主、WSL 对照」的学习地图,并守住几条安全底线。
1. 为什么还要系统练命令行
你会写前端 / Node / Go,但上云之后常见翻车:
| 现象 | 风险 |
|---|---|
| 只会面板点按钮 | 排查挂了、面板也帮不了 |
复制 AI 的一串 rm -rf | 删错目录、删错用户数据 |
| 不知道谁占了端口 | 「启动失败」却说不出原因 |
| 服务一关 SSH 就断 | 改防火墙/sshd 把自己锁门外 |
| 日志不会跟 | 只能重启碰运气 |
结论:命令行是服务器的「调试器」。本系列目标不是背 200 个命令,而是:登录 → 找文件 → 装软件 → 看进程/端口 → 跟日志 → 让服务常驻 → 用 Nginx 对外暴露。
2. 两套环境:云机 vs WSL(主从分明)
| 云 Ubuntu(主线) | WSL2(对照) | |
|---|---|---|
| 是什么 | 公网/内网上一台真实 Server | Windows 里的 Linux 子系统 |
| 怎么进 | SSH(密钥) | Windows Terminal / wsl |
| 适合练 | 防火墙、公网端口、systemd、Nginx、部署 | 日常 apt、路径、管道、写脚本 |
| 注意 | 改 sshd / ufw 可能锁死自己 | 没有完整「云安全」场景;部分 systemd 行为与真机有差 |
默认约定:文中命令以 Ubuntu 22.04 / 24.04 LTS 云机 为准;WSL 仅在「不一样」时用短表说明。
text
本机(Windows)
├─ SSH 客户端 ──► 云 Ubuntu(练习机)← 本系列主战场
└─ WSL2 Ubuntu ← 通勤/无云机时对照练习1
2
3
2
3
3. 练习机地图(开篇就画一张)
在便签或笔记里写下(示例):
text
公网 IP / 域名:________
SSH 端口:22(或自定义)
登录用户:ubuntu / 你的用户名(勿长期用 root 日常)
系统:Ubuntu ____ LTS
密钥路径(本机):~/.ssh/id_ed25519
用途:本系列 01~10 实验,可随时重建1
2
3
4
5
6
2
3
4
5
6
没有云机时:可用厂商学生机 / 低配 VPS;不要用生产库、真实用户数据练手。
4. 安全底线(整系列通用)
- 日常用普通用户 +
sudo,不要把所有操作都挂在 root 上。 - 改
sshd_config/ 防火墙前先开第二个 SSH 会话,确认新会话能登再关旧会话。 - 危险命令先确认路径:
rm、chmod -R、chown -R、dd。 - 密钥私钥绝不上传仓库、不发聊天;云厂商控制台密码登录只作救急。
- AI 给出的命令:先读懂再敲;涉及删除、防火墙、sshd 的,对照官方文档。
5. 和本系列后续篇的关系
| 你熟悉的 | 服务器侧 | 哪篇 |
|---|---|---|
| 本机终端随便敲 | SSH 会话 | 02 |
| 项目目录权限懵 | Unix 权限 / 用户组 | 03 |
npm i / 装依赖 | apt | 04 |
| 看 DevTools Network | 进程 / 端口 / ss | 05 |
| 看前端 console | 日志 / 管道 / journalctl | 06 |
| HTTPS 部署焦虑 | 先 ufw + ssh 加固 | 07 |
| PM2 / 后台跑 | systemd | 08 |
| Vite preview 对外 | Nginx 反代 | 09 |
本地 go run / node | 云上常驻交付 | 10 |
6. 动手清单
- [ ] 确认有一台可 SSH 的 Ubuntu(或先装好 WSL2 作对照)
- [ ] 写好「练习机地图」四行信息
- [ ] 用普通用户登录一次,执行
whoami、uname -a、lsb_release -a(若无lsb_release:cat /etc/os-release) - [ ] 约定:本系列实验目录统一用
~/lab(下一篇创建)
7. 常见翻车
| 翻车 | 处理 |
|---|---|
| 只有 root 密码、没有普通用户 | 登录后立刻 adduser 并加 sudo,再练后续篇 |
| WSL 当「完整云安全课」 | 防火墙/公网篇仍以云机为准 |
在生产库上练 rm | 换练习机;生产只读排查 |
8. 官方入口
下一篇:SSH 登录、密钥与基础生存命令 —— 真正「活」在服务器上。
