终端与命令行基础:和电脑用文字对话
完成时间:约 20 分钟。读完后你能在终端里自如地查看文件、切换目录、运行命令——这些是使用 Claude Code 的前提。
你平时用电脑,是用鼠标点图标、拖文件、选菜单。这是图形界面(GUI)——餐厅里看着菜单点菜,服务员帮你传话给厨房。
终端是另一种方式:你直接用文字告诉电脑要做什么。不用菜单,不用鼠标,打字就行。这就像绕过服务员,直接喊厨师名字下单——更精确、更高效。
为什么要学?因为 Claude Code 运行在终端里。Git、Docker、npm 这些开发工具也全是终端命令。不会终端,就没法用 Claude Code。
| 操作系统 | 怎么打开 | 备注 |
|---|---|---|
| macOS | 搜索 “Terminal” 打开,或安装 iTerm2 | 系统自带就够用 |
| Windows | 打开 Ubuntu (WSL) | 参考环境搭建章节,不要用 CMD 或 PowerShell |
打开后你会看到一个黑色(或白色)的窗口,有一个光标在闪。这就是终端。你在这里输入命令,按回车执行。
最核心的概念:路径
Section titled “最核心的概念:路径”在图形界面里,你双击文件夹一层层打开。在终端里,你需要用路径来告诉电脑”你说的是哪个文件”。
路径就是文件的地址。就像”北京市朝阳区某某路 10 号”,路径也是从大到小、用 / 分隔:
/Users/xiaoming/projects/my-app/src/App.jsx绝对路径 vs 相对路径
Section titled “绝对路径 vs 相对路径”# 绝对路径 — 从根目录开始的完整地址(像写完整的邮寄地址)/Users/xiaoming/projects/my-app
# 相对路径 — 从"你当前所在位置"开始(像说"隔壁那栋楼")./src/App.jsx # 当前目录下的 src 文件夹里的 App.jsx../other-project # 上一级目录里的 other-project4 个特殊符号
Section titled “4 个特殊符号”| 符号 | 含义 | 类比 |
|---|---|---|
/ | 根目录(整个文件系统的起点) | 国家名 |
~ | 家目录(你的个人文件夹) | 你家的地址 |
. | 当前目录 | ”我现在站的地方” |
.. | 上一级目录 | ”我楼下” |
必会的 10 个命令
Section titled “必会的 10 个命令”1. pwd — 我在哪?
Section titled “1. pwd — 我在哪?”pwd# 显示你当前所在的完整路径迷路了就打
pwd,像看导航上的”当前位置”。
2. ls — 这里有什么?
Section titled “2. ls — 这里有什么?”ls# 输出:README.md package.json src node_modules
ls -la# 显示隐藏文件(以 . 开头的)和详细信息# -l 是"详细模式",-a 是"显示所有(包括隐藏的)"进了一个文件夹不知道里面有啥,先
ls看一眼。
3. cd — 去某个地方
Section titled “3. cd — 去某个地方”cd projects # 进入 projects 文件夹cd my-app/src # 一次进好几层cd .. # 回到上一级目录cd ~ # 回到家目录(不管你现在在哪)cd / # 去根目录
cd是你用得最多的命令。“cd 到某个目录”是程序员的日常口头禅。
4. mkdir — 新建文件夹
Section titled “4. mkdir — 新建文件夹”mkdir my-project # 创建一个叫 my-project 的文件夹mkdir -p a/b/c # 一次创建多层嵌套文件夹(-p 表示自动创建父目录)5. touch / echo — 新建文件
Section titled “5. touch / echo — 新建文件”touch hello.txt # 创建一个空文件echo "你好世界" > hello.txt # 创建文件并写入内容(> 会覆盖已有内容)6. cat — 查看文件内容
Section titled “6. cat — 查看文件内容”cat hello.txt# 输出:你好世界# 把文件内容直接打印到终端快速看一个小文件的内容。文件太长的话会刷屏,后面你会学到更好的方式。
7. cp / mv — 复制 / 移动(重命名)
Section titled “7. cp / mv — 复制 / 移动(重命名)”cp hello.txt backup.txt # 复制:hello.txt → backup.txtcp -r src src-backup # 复制整个文件夹(-r 表示递归)
mv hello.txt greeting.txt # 重命名:hello.txt → greeting.txtmv greeting.txt ../ # 移动到上一级目录8. rm — 删除
Section titled “8. rm — 删除”rm hello.txt # 删除文件rm -r my-folder # 删除文件夹和里面所有内容没有回收站!
rm删除的文件不会进垃圾桶,直接消失。用之前想清楚。
9. clear — 清屏
Section titled “9. clear — 清屏”clear# 终端屏幕清空,重新开始(历史命令还在,只是看不见了)屏幕太乱的时候用一下,清清爽爽。
10. which / --version — 检查工具是否安装
Section titled “10. which / --version — 检查工具是否安装”which node # 查看 node 安装在哪(有输出就是装了)node --version # 查看 node 版本号git --version # 查看 git 版本号装完一个工具不确定有没有成功?
which和--version就是你的验证手段。
3 个实用技巧
Section titled “3 个实用技巧”Tab 键自动补全
Section titled “Tab 键自动补全”输入文件名或命令的前几个字母,按 Tab 键,终端会自动帮你补全。
cd pro[Tab] # 自动补全为 cd projects/(如果只有一个 pro 开头的文件夹)cat READ[Tab] # 自动补全为 cat README.md少打字、少出错。养成随手按 Tab 的习惯。
上箭头找历史命令
Section titled “上箭头找历史命令”按上箭头键(↑),可以翻出之前输入过的命令。不用重新打一遍。
刚才那条很长的命令想再执行一次?按几下上箭头就找到了。
Ctrl+C 中断当前命令
Section titled “Ctrl+C 中断当前命令”如果一个命令卡住了、一直在运行、或者你输错了想取消,按 Ctrl+C。
# 比如你不小心运行了一个死循环,Ctrl+C 立刻停掉它终端世界的”紧急刹车”。记住它,关键时刻救命。
环境变量是操作系统层面的设置项,每个程序运行时都能读到。
类比:你手机的”系统设置”——语言、时区、Wi-Fi 密码。应用不用自己存这些信息,直接从系统设置里读。
$PATH — 最重要的环境变量
Section titled “$PATH — 最重要的环境变量”echo $PATHPATH 告诉系统:当你输入一个命令时,去哪些目录里找这个程序。 目录之间用 : 分隔。
当你输入 node 并回车时,系统会依次在 PATH 里的目录中搜索叫 node 的程序。找到了就运行,找不到就报错 command not found。
.env 文件 — 项目的环境变量
Section titled “.env 文件 — 项目的环境变量”在开发项目中,敏感信息(数据库地址、密钥等)不会写在代码里,而是放在 .env 文件中:
# server/.env 示例DATABASE_URL=postgres://localhost:5432/mydbJWT_SECRET=my-super-secret-key程序启动时会读取 .env 文件里的值。
为什么重要?本课程的
server/.env就是存放数据库连接和密钥的地方。CLAUDE.md 里提到的DATABASE_URL、JWT_SECRET就是环境变量。
管道和重定向(了解即可)
Section titled “管道和重定向(了解即可)”这两个概念现在不需要深入掌握,但你会在别人的命令里看到它们。
| 管道 — 把输出传给下一个命令
Section titled “| 管道 — 把输出传给下一个命令”cat log.txt | grep "error"# 先读取 log.txt 的内容,然后从里面筛选包含 "error" 的行# 就像流水线:一个工人加工完,传给下一个工人继续加工> 重定向 — 把输出写入文件
Section titled “> 重定向 — 把输出写入文件”ls -la > filelist.txt# 把 ls 的结果写入 filelist.txt(而不是显示在屏幕上)# > 会覆盖文件,>> 是追加到文件末尾看到命令里有
|或>别慌,知道它们是”传递”和”保存”输出就行。
打开终端,依次执行下面的命令。每一步都看看输出,确认你理解了发生了什么:
# 第 1 步:看看你现在在哪pwd
# 第 2 步:创建一个测试文件夹,进去mkdir my-testcd my-test
# 第 3 步:创建一个文件,看看它touch hello.txtcat hello.txt # 什么都没输出——因为文件是空的
# 第 4 步:往文件里写点东西echo "我学会终端了" > hello.txtcat hello.txt # 输出:我学会终端了
# 第 5 步:查看所有文件(包括隐藏文件)ls -la
# 第 6 步:回到上级目录cd ..
# 第 7 步:确认你回来了pwd如果每一步都顺利执行、输出和预期一致,恭喜——你已经掌握终端基本操作了。
| 命令 | 作用 | 示例 |
|---|---|---|
pwd | 显示当前路径 | pwd |
ls | 列出文件 | ls -la |
cd | 切换目录 | cd projects |
mkdir | 新建文件夹 | mkdir my-app |
touch | 新建空文件 | touch index.html |
cat | 查看文件内容 | cat README.md |
cp | 复制 | cp a.txt b.txt |
mv | 移动 / 重命名 | mv old.txt new.txt |
rm | 删除(无回收站) | rm -r folder |
clear | 清屏 | clear |
which | 检查工具是否安装 | which node |
3 个必记快捷操作:
| 操作 | 作用 |
|---|---|
Tab | 自动补全文件名/命令 |
↑ 上箭头 | 翻出历史命令 |
Ctrl+C | 中断当前命令 |
终端看起来没有图形界面直观,但一旦熟悉了,效率远超鼠标点击。而且——Claude Code 就运行在这个环境里。掌握这些基础,你就准备好和 AI 协作了。
下一步:回到主线,开始 Step 1:思考框架。