环境搭建与代码运行基础
1.4 Terminal 终端入门
Tip
学会用终端执行命令,安装软件和启动项目。
1. 为什么要学终端?
你可能会想:"我用鼠标点图标不是挺好的吗?为什么要学这个黑框框?"
痛点场景
你让AI帮你创建一个Next.js项目。AI说:"在终端输入npx create-next-app@latest"。
你打开电脑,傻眼了:
- 终端在哪?
- 输入在哪里?
- 为什么没有按钮可以点?
结果:你卡在第一步,项目根本创建不了。
为什么必须用终端?
用开车来理解:
方式1:自动挡(图形界面)
- 你只能踩油门、刹车、打方向盘
- 简单,但只能做基本操作
- 想调整引擎参数?没有按钮
方式2:手动挡(终端)
- 你可以控制档位、转速、油门深度
- 复杂,但能做任何操作
- 想装软件、启动服务器、部署应用?都能做
在Vibe Coding中,很多操作图形界面根本没有按钮,必须用终端。
2. 什么是终端?什么是Shell?
终端是什么?
终端:一个黑色(或白色)的窗口,你在里面输入命令,电脑执行命令。
比喻:终端就像一个对讲机
- 你说话(输入命令)
- 电脑听到并执行
- 电脑回复结果(显示文字)
Shell是什么?
终端只是个窗口,真正干活的是Shell。
Shell:运行在终端里的程序,负责把你的命令翻译给电脑。
比喻:Shell就像翻译官
- 你说中文:
创建一个文件夹 - Shell翻译成机器语言:
mkdir - 电脑执行
- Shell把结果翻译回中文:
创建成功
看到了吗?终端是窗口,Shell是翻译官。
3. Windows和Mac用哪个终端?
新手经常被各种名字绕晕:CMD、PowerShell、Terminal、Git Bash...到底用哪个?
直接告诉你答案:
| 名称 | 类型 | 说明 | Vibe Coding 推荐 |
|---|---|---|---|
| 💀 CMD | 古董 | Windows 最老的黑框。功能弱,不支持现代指令。 | ❌ 狗都不用 |
| ⚡ PowerShell | 原生 | Windows 自带的新一代终端。功能强大,兼容性好。 | ✅ Windows 首选 |
| 🍎 Terminal (Mac) | 原生 | macOS 自带的终端,默认运行 zsh。 | ✅ Mac 首选 |
| 🔧 Git Bash | 模拟器 | 在 Windows 上模拟 Linux 指令。 | ⭕ 备选 |
4. 必须掌握的4个命令
别去背"Linux 100个必背命令"。在Vibe Coding中,你只需要掌握这4个高频命令就够了。
cd - 进入文件夹
就像你在文件管理器里双击文件夹
cd Desktop # 进入桌面
cd my-project # 进入项目文件夹
cd .. # 返回上一级(后退)
什么时候用?
- AI让你"进入项目目录"
- 你要在某个文件夹里执行命令
ls - 看看有什么文件
就像你进房间后开灯看看里面有什么
ls # 列出当前文件夹的所有文件
什么时候用?
- 你想确认自己在哪个文件夹
- 你想看看项目里有哪些文件
mkdir - 创建文件夹
就像你右键新建文件夹
mkdir next-app # 创建一个叫next-app的文件夹
什么时候用?
- 新建项目的第一步
- 你要整理文件
↑ - 找回上一条命令
防手残神器
按↑键,终端会显示你刚才输入的命令。
什么时候用?
- 你刚才输了个很长的命令,但打错了一个字母
- 你想重复执行刚才的命令
5. 避坑指南
| ❌ 不要这样做 | ✅ 应该这样做 | 为什么 |
|---|---|---|
直接复制粘贴$符号 |
只复制$后面的命令 |
$是提示符,不是命令的一部分 |
| 以为终端卡死了狂按回车 | 按Ctrl + C停止 |
有些命令会一直运行,这是正常的 |
文件名带空格My Project |
用横线My-Project |
空格在终端里代表断句,会报错 |
6. 真实案例:皮克斯的rm -rf灾难
Story
1998年,玩具总动员2差点消失
1998年,皮克斯一位员工在终端误输入rm -rf *(强制删除所有文件)。虽然他很快拔掉电源,但《玩具总动员2》90%的电影文件瞬间化为乌有。幸运的是,一位在家休产假的员工偶然在自己电脑上备份了一份,电影才得以保存。
Vibe心法:在终端执行删除命令前,先用pwd确认当前目录,再用ls看看要删除什么。养成习惯:删除前三思,删除后无法撤销。
7. 本章小结
- 🖥️ 终端是黑框框:输入命令,电脑执行,很多操作图形界面没有按钮
- 🔄 Shell是翻译官:把你的命令翻译给电脑
- 🛠️ 4个常用命令:
cd(进文件夹),ls(看文件),mkdir(建文件夹),↑(找回命令) - 💻 Windows用PowerShell,Mac用Terminal