§ 2·CS 地基8 prompts

环境、工具与命令行

以 MIT Missing Semester 为主,扩展《命令行的艺术》。这是 VibeCoder 跨过 vibe coding 阶段的第一道门槛。

先读这部分
§ 2

环境、工具与命令行

以 MIT Missing Semester 为主,扩展《命令行的艺术》。这是 VibeCoder 跨过 vibe coding 阶段的第一道门槛。

需要掌握的核心模块:

学到什么程度
  • Git / Version Control。分支、merge / rebase、推送、版本回退。能在终端里独立操作,不是 AI 帮我点按钮
  • SSH。公钥/私钥原理,能在终端独立连上 Linux 服务器,知道连接过程中发生了什么。
  • Tmux。终端复用器。能在服务器上跑进程、detach / attach 切换会话。
  • Shell。Linux 哲学:每个工具做一件事,管道串起来。能写出 ls | grep epub | wc -l 这样的命令链。
  • Vim。兜底编辑器。i 进入、esc 退出、:wq 保存退出、:q! 强退。
  • Makefile。知道 target / dependency / command 三个概念,不需要写复杂构建。
  • Docker。理解 image 与 container 的区别。能跑起容器、写 Dockerfile。
  • 环境配置。AI 配环境时看它的 CoT,能看懂在做什么就行。
动手做 · 提示词卡

把这段知识变成一段可执行的练习

以下 8 张卡,每张都是一段可复制的提示词。打开 Claude Code(或任何 LLM 终端),把卡里的提示词粘进去,AI 会陪你完成这一步。遇到不会的概念,把 AI 的回答贴回 卡里继续问下一步。可以一次做完,也可以分几次。

7 操作1 混合
Prompt 01操作★★

Git 冲突手动解决

为什么要学VibeCoder 第一次团队协作必撞 Git 冲突。不懂等于推倒重来。
打个比方你和同事各改了一版 PPT,合并时不能两版都要,得手动挑。
VibeCoder 场景你让 Claude Code 同时改 3 个文件,它报告 2 个有冲突要你定。

两个分支改了同一行,merge 后 Git 报 CONFLICT,你不想点 IDE 按钮糊弄过去。

前置本地装好 git · 一个测试用的空仓库
  1. 01建测试仓库,开 main 和 feature 两个分支。
  2. 02在两个分支故意改同一行,切回 main 跑 git merge feature 触发冲突。
  3. 03cat 文件看冲突标记,按 AI 解释手动编辑成你要的样子。
  4. 04git add 告诉 Git 冲突已解决。
  5. 05git commit 完成 merge。
粘贴到 Claude Code(或任何 LLM 终端)
我刚 git merge 报了冲突,文件里有 <<<<<<< ======= >>>>>>> 标记。请按下面格式教我手动解决:1. 这三组标记里 HEAD 部分和分支部分各代表谁的修改。2. 我应该手动编辑成什么样子(举一个具体例子)。3. 解决后用哪个命令告诉 Git 冲突已解决。4. 最后用哪个命令完成 merge。不要让我用 IDE 点按钮,我要在终端里走完整流程。
✓ 完成判据git status 显示 nothing to commit,git log 多了一条 merge commit。
不要直接 git checkout --theirs 全选一边,那不是解决冲突是放弃冲突。
Prompt 02操作★★

SSH 公私钥连服务器

为什么要学部署上线第一步就是 SSH。每次输密码 = 自动化的死敌。
打个比方家门换指纹锁,比每天掏钥匙快十倍,还不怕忘带。
VibeCoder 场景你让 Claude Code 部署到云服务器,要它能免密执行远程命令。

第一次连远程服务器,密码登录很烦,要换成公钥免密。

前置一台能 ssh 登录的 Linux 服务器(云厂商最便宜的就行)
  1. 01ssh-keygen -t ed25519 生成密钥对。
  2. 02查看 ~/.ssh/ 里产生的 id_ed25519 和 id_ed25519.pub。
  3. 03ssh-copy-id user@host 把公钥追加到服务器的 ~/.ssh/authorized_keys。
  4. 04ssh user@host 验证不再要密码。
  5. 05让 AI 用一段话解释客户端-服务器验证流程。
粘贴到 Claude Code(或任何 LLM 终端)
教我从零生成一对 SSH 公私钥,把公钥放到远程服务器上,然后免密登录。每一步告诉我:执行什么命令、这个命令做了什么、产物文件在哪个路径、为什么需要这一步。最后解释:登录时客户端和服务器之间发生了什么(公钥私钥怎么验证),用 4-6 句话讲清楚。不要让我开 GUI,全程命令行。
✓ 完成判据终端 ssh user@host 直接登录成功,不弹密码框。
authorized_keys 权限必须是 600,目录必须是 700,否则 sshd 会拒绝。
Prompt 03操作★★

Tmux detach 长任务

为什么要学服务器跑 2 小时脚本,网一断进程就死。Tmux 让任务跟终端解绑。
打个比方电饭煲煮饭:按下开关你就能出门,回来饭还热。
VibeCoder 场景Claude Code 帮你跑训练,你 detach 出去吃饭,回来还在跑。

你要在服务器上跑一个 2 小时的脚本,但你网断了进程就死了。

前置一台 Linux 服务器(或本地 macOS 装 tmux)
  1. 01tmux new -s mywork 开一个命名 session。
  2. 02里面跑 ping baidu.com,看它持续输出。
  3. 03按 Ctrl+b 松手再按 d 完成 detach。
  4. 04关掉终端,重新 ssh 上来。
  5. 05tmux attach -t mywork 回去看 ping 还在跑。
粘贴到 Claude Code(或任何 LLM 终端)
教我用 tmux 跑一个长任务:1. 怎么开一个新 session 并命名。2. 在里面跑一个能持续输出的命令(比如 ping baidu.com)。3. 按什么键组合 detach 出来。4. 关掉终端、重新 ssh 上来,怎么 attach 回去看刚才的进程还活着。5. 用 3 句话解释 session、window、pane 三个概念的区别。
✓ 完成判据重新 attach 后看到 ping 输出没断过,icmp_seq 是连续的。
tmux 的 prefix 默认是 Ctrl+b,按完要松手再按 d,不是同时按。
Prompt 04操作★★

管道统计文件数

为什么要学不会管道写不出 shell 一行流,干啥都绕 30 行脚本。
打个比方流水线工厂:每工位做一件事,传给下一个,组合出复杂结果。
VibeCoder 场景Claude Code 给你 grep | wc -l 这种命令,你看不懂在干嘛。

你想知道某个目录下有多少个 epub 文件,又想顺手学一下管道。

  1. 01ls 看输出,观察每行一个文件名。
  2. 02ls | grep epub 看过滤后输出。
  3. 03ls | grep epub | wc -l 看最终数字。
  4. 04自己改成统计 pdf 跑一遍。
粘贴到 Claude Code(或任何 LLM 终端)
不要给我一个 find 一把梭的方案。我要学管道。请教我用 ls、grep、wc 三个命令通过管道串起来,统计当前目录下文件名包含 epub 的文件数量。把命令写出来,然后逐段解释:ls 输出什么、grep 过滤什么、wc -l 数什么、| 这个符号在做什么。最后让我改一改,统计 pdf 文件数。
✓ 完成判据你能不查文档独立写出 ls | grep XXX | wc -l。
文件名带空格或换行时这个组合会数错,先在简单场景练。
Prompt 05操作★★

Vim 改 SSH config

为什么要学远程服务器没 VS Code。不会 Vim 等于上不了产线机器改文件。
打个比方出差忘带电脑,借别人机器也得会用 Word 才能编文档。
VibeCoder 场景Claude Code 让你登服务器改一行配置,你卡在打不开文件上。

服务器上没 VS Code,你要改 ~/.ssh/config 加一个别名。

  1. 01vim ~/.ssh/config 打开文件。
  2. 02用方向键移到文件末尾。
  3. 03按 i 进入编辑模式,输入 4 行 Host 配置。
  4. 04按 esc 退出编辑模式。
  5. 05输入 :wq 保存退出。
粘贴到 Claude Code(或任何 LLM 终端)
教我用 vim 完成一次最小可用编辑:在 ~/.ssh/config 末尾追加 4 行 Host 配置。要求只用 i、esc、:wq、:q! 这 4 个命令。先告诉我每个命令的作用,然后给我完整步骤:怎么进入编辑模式、怎么退出、怎么保存、怎么不保存退出。最后告诉我如果改坏了想恢复,按 u 撤销该怎么用。
✓ 完成判据cat ~/.ssh/config 能看到新增的 4 行,ssh 别名能用。
如果不小心按了 :q 没保存,再 cat 看不到改动;保存退出一定是 :wq。
Prompt 06操作★★

读懂别人的 Makefile

为什么要学clone 任一开源项目都见 Makefile。看不懂等于不知项目怎么跑。
打个比方看食谱:先备料、再煮、最后摆盘,谁依赖谁要看清。
VibeCoder 场景Claude Code 让你跑 make build,你想知道它背后串了什么命令。

你 clone 了一个开源项目,README 说 make build 就能跑,你想看懂它在做什么。

  1. 01从 GitHub 任一开源项目找一个 Makefile,复制到方括号占位符。
  2. 02AI 输出 target 表 + 依赖图。
  3. 03自己跑 make build 看实际执行顺序。
  4. 04对照 AI 的依赖图,找差异。
粘贴到 Claude Code(或任何 LLM 终端)
我贴一个 Makefile 给你。请按这个格式拆解:1. 这个文件里定义了哪些 target,列成表格。2. 每个 target 依赖哪些 target 或文件。3. 每个 target 执行的命令是什么、做了什么。4. 用一张文字版的依赖图告诉我 make build 会触发的执行顺序。不要重写这个 Makefile,只要分析。Makefile 内容如下:[这里贴整段 Makefile]。
✓ 完成判据你能 30 秒说清这个 Makefile 里 build 依赖谁、谁触发谁。
注意 Makefile 里命令必须用 tab 缩进不是空格,复制时别被编辑器替换了。
Prompt 07操作★★

Docker 跑 Postgres

为什么要学本地装数据库会污染系统。Docker 让你随手起、随手扔。
打个比方一次性外卖盒:用完就丢,不用洗碗,下次再要新的。
VibeCoder 场景Claude Code 帮你起 Postgres 测试,你不想全局装一个污染机器。

你想跑一个 Postgres 但不想污染本地系统。

前置本地装好 Docker Desktop 或 Docker Engine
  1. 01docker pull postgres:16。
  2. 02docker run -d --name pg -e POSTGRES_PASSWORD=test -p 5432:5432 postgres:16。
  3. 03docker exec -it pg psql -U postgres 进容器。
  4. 04在 psql 里跑 \l 看默认数据库列表,\q 退出。
  5. 05docker stop pg && docker rm pg 清理。
粘贴到 Claude Code(或任何 LLM 终端)
教我用 docker 跑一个最小 Postgres 实例。步骤:1. 怎么 pull 镜像。2. 怎么用 docker run 跑一个容器,设置好端口映射和环境变量 POSTGRES_PASSWORD。3. 怎么进到容器里面用 psql 连上去看。4. 怎么 exit 出来但容器还在跑。5. 怎么停掉容器、删掉容器。每一步给我完整命令和一句话解释。最后用 30 字告诉我 image 和 container 的区别。
✓ 完成判据psql 能连上看到 postgres、template0、template1 三个默认数据库。
docker run 没加 -d 会前台跑,关终端容器就停;新手最容易踩这个。
Prompt 08混合★★

AI 配环境跟 CoT

为什么要学AI 给一坨命令你抄完不懂,下次同类问题还得重来。
打个比方跟厨师学菜:只抄菜谱不看他切菜思路,永远只会这一道。
VibeCoder 场景Claude Code 给你 8 条配环境命令,你想知道每条到底为啥。

你装一个 Python 项目报一堆依赖错。AI 直接给你一坨命令,你执行完还是不懂为什么。

  1. 01把真的 requirements 内容贴进方括号占位符。
  2. 02让 AI 输出带 '思考:' 标记的步骤。
  3. 03一步一步跑,每跑完一步对照预期输出。
  4. 04失败时把实际报错粘回去,让 AI 修推理而不是改命令。
粘贴到 Claude Code(或任何 LLM 终端)
我要装一个 Python 项目,依赖是 [这里贴 requirements.txt 或 pyproject 片段]。我之前直接 pip install 报错。请按下面格式来:1. 给一个解决方案,但每一步前面加一行 '思考:' 说你为什么走这一步。2. 涉及到 venv、conda、pip 的选择时,告诉我你为什么选这个不选那个。3. 每一步执行完,告诉我应该看到什么、看不到说明前一步失败了。我要看你的推理,不只是命令。
✓ 完成判据项目能 python -c 'import xxx' 不报错;你也能复述出 AI 当时为什么选 venv 不选全局 pip。
跳过 '思考:' 行直接复制命令的话,下次遇到同类问题你还是不会。