Claude Code 保姆级教程:命令行版,从安装到日常使用
大家好!

Claude Code 的官方文档写得很全,但也正因为全,新手打开容易懵:几十个命令、一堆配置项,不知道哪些是现在就要会的。
这篇只讲命令行版,不讲桌面版和 IDE 插件,按照从零开始的顺序,把最常用的东西串起来。每一关只讲必须会的,进阶的放在后面,最后附一张速查表。
先搞懂:Claude Code 是什么
一句话:一个住在终端里的 AI 程序员。
它和网页版 Claude 最大的区别是,它能直接在你的项目里干活:
| 网页版 Claude | Claude Code | |
|---|---|---|
| 看代码 | 你复制粘贴给它 | 它自己读整个项目 |
| 改代码 | 它给你代码,你自己粘回去 | 它直接改文件,你确认 |
| 跑命令 | 不行 | 能跑测试、构建、Git 命令 |
| 适合 | 问问题、写片段 | 改需求、修 Bug、重构 |
所以使用方式也不一样:不是“问它代码怎么写”,而是“告诉它要做什么,让它去做,你来把关”。
第 1 关:准备好账号和网络
账号
Claude Code 需要以下任意一种账号:
- Claude 订阅:Pro、Max、Ultra,或者团队的 Team、Enterprise。免费版不能用
- Console 账号:在 Anthropic 开发者平台充值,按 API 用量计费
怎么选?个人日常写代码,建议先开 Pro 订阅试试,费用固定,不用担心一不小心刷爆。用量不够再升级 Max。API 按量计费更适合偶尔用一下,或者写脚本自动化调用。
网络
Claude Code 只能在 Anthropic 支持的国家和地区使用,国内需要自己解决网络问题。
这里有一个很多人会踩的坑:Claude Code 不支持 SOCKS 代理。如果你的代理客户端只开了系统代理,终端里的 Claude Code 是不会走代理的,需要手动设置 HTTP 代理:
1 | export HTTPS_PROXY=http://127.0.0.1:{代理客户端的 HTTP 端口} |
端口在代理客户端的设置里能看到。也可以直接开代理客户端的 TUN 模式,让所有程序的流量都走代理。
如果你对 IP 纯净度有要求,可以参考我之前写的给 VPS 换一个美国家庭 IP。
第 2 关:安装
官方推荐用原生安装器,装好以后会自动在后台更新,省心。
macOS、Linux、WSL:
1 | curl -fsSL https://claude.ai/install.sh | bash |
Windows PowerShell:
1 | irm https://claude.ai/install.ps1 | iex |
如果习惯用包管理器,也可以:
1 | # macOS Homebrew |
用 Homebrew 和 WinGet 装的不会自动更新,要自己定期升级。
还有 npm 的方式 npm install -g @anthropic-ai/claude-code,需要 Node.js 22 以上,不要加 sudo。
Windows 用户建议顺便装一个 Git for Windows,Claude Code 会用里面的 Git Bash 来执行命令,没装的话会用 PowerShell。
装完以后,新开一个终端窗口,检查一下:
1 | claude --version |
能打印出版本号就说明装好了。如果提示找不到命令,先关掉终端重新打开;还不行就运行 claude doctor,它会检查安装和配置有什么问题。
第 3 关:登录,开始第一次对话
登录
进入你的项目目录,启动 Claude Code:
1 | cd 你的项目目录 |
第一次启动会让你选择登录方式,然后打开浏览器授权。用订阅的选 Claude 账号,用 API 的选 Console 账号。
登录以后,相关的几个命令:
/status:看当前的版本、模型、账号和网络情况/login:切换账号/logout:退出登录
第一次对话,先让它了解项目
不要一上来就让它改代码,先让它熟悉一下项目:
1 | 这个项目是做什么的?主要的目录结构是怎样的? |
它会自己去读文件,然后告诉你项目的情况。接着运行:
1 | /init |
它会分析整个项目,生成一个 CLAUDE.md 文件,里面是项目的构建命令、测试方法、代码规范等。以后每次启动,它都会先读这个文件。这个文件很重要,第 6 关会详细讲。
让它改点东西
试着给它一个小任务,比如修一个小 Bug。它会:
- 读相关的代码
- 告诉你它打算怎么改
- 修改文件或执行命令之前,弹出确认,问你同不同意
确认的时候,可以只同意这一次,也可以选择以后不再问同类操作。不同意的话,可以直接告诉它你想怎么改。
提示词怎么写
Claude Code 很聪明,但它不知道你脑子里在想什么。对比一下:
不好的写法:
1 | 帮我优化一下代码 |
好的写法:
1 | src/api/user.ts 里的 getUser 接口响应很慢,帮我找出原因并修复。 |
好的提示词一般包含四件事:
- 目标:要解决什么问题
- 范围:涉及哪些文件或模块
- 约束:哪些东西不能动
- 验证:改完怎么确认是对的
尤其是第 4 点,告诉它怎么验证,它就能自己跑测试、看结果、发现问题再改,而不是改完就交差。
第 4 关:管住它的手,权限模式

Claude Code 能改文件、跑命令,那它什么时候需要问你、什么时候可以直接做?这由权限模式决定。
在对话中按 Shift + Tab 可以切换模式,输入框下方会显示当前是哪个模式:
| 模式 | 它能直接做什么 | 适合 |
|---|---|---|
default(Manual) |
只能读文件,改文件和跑命令都要问你 | 刚上手、敏感项目 |
acceptEdits |
读文件、改文件、常见的文件操作不用问 | 你在旁边盯着改代码 |
plan |
只看不改,读完代码给你出一份方案 | 大改动之前先想清楚 |
auto |
大部分操作直接做,后台有安全检查拦截危险操作 | 比较长的任务 |
几个建议:
- 新版本默认就是
auto模式启动。如果你刚上手,想看清楚它每一步在干什么,可以按 Shift + Tab 切到default - **大改动先用
plan**:直接输入/plan 你的需求,它会先出方案,你确认以后才开始改。方案不对可以直接让它调整,比改完再返工省事得多 - 还有一个
bypassPermissions模式,所有操作都不问,要在启动时加--dangerously-skip-permissions这类参数才会开启。官方建议只在隔离的容器或虚拟机里用,日常别碰
再加一道保险:沙箱

权限模式管的是“做之前问不问你”,沙箱管的是“命令最多能碰到什么”。两者不冲突,可以一起用。
开启沙箱以后,Claude 执行的 shell 命令会被操作系统限制住:
- 文件:只能写当前项目目录、临时目录,以及你额外允许的目录。像
~/.ssh、系统目录这些地方,命令写不进去 - 网络:命令不能直接联网,访问哪个域名要你批准,或者提前加进白名单
注意两点:
- 沙箱只管 shell 命令。Claude 自带的读写文件工具、MCP 不在沙箱里,它们还是靠权限规则来管
- 沙箱限制的是“写”,读基本不限。所以
.env这类密钥文件,还是要用前面讲的deny规则挡住
支持哪些系统
| 系统 | 支持情况 |
|---|---|
| macOS | 支持,系统自带,不用装东西 |
| Linux、WSL2 | 支持,需要先安装 bubblewrap 和 socat |
| Windows 原生 | 不支持,想用沙箱就在 WSL2 里运行 Claude Code |
Linux 和 WSL2 先装依赖:
1 | # Ubuntu / Debian |
装完重启 Claude Code。
怎么开启
沙箱默认是关闭的。最简单的方式是在对话里输入:
1 | /sandbox |
会打开一个设置面板,可以开启沙箱、选择模式、查看缺少哪些依赖。模式有两种:
- 自动放行:在沙箱里跑的命令不再一条条问你,跑出沙箱的操作才会问
- 常规权限:开了沙箱,但每条命令还是照常问你
我推荐沙箱 + 自动放行:大部分命令不用再点确认,又不用担心它乱删乱改项目以外的东西,是安全和省事之间比较好的平衡。
也可以直接写在 ~/.claude/settings.json 里,对所有项目生效。顺便把常用的目录和域名放进白名单:
1 | { |
filesystem.allowWrite:额外允许写入的目录,比如包管理器的缓存目录network.allowedDomains:允许访问的域名,不用每次都确认
怎么确认沙箱生效了
让 Claude 帮你执行下面两条命令。不要自己用 ! 输入,! 跑的命令一般不在沙箱里:
1 | touch ~/sandbox-probe |
沙箱生效的话,第一条会报没有权限,第二条会报找不到域名。如果 Claude 问你要不要在沙箱外重试,选拒绝。
常见问题
| 现象 | 解决办法 |
|---|---|
| 访问某个网站报错 | 弹窗时批准,或者加到 allowedDomains |
docker 命令跑不了 |
docker 在沙箱里用不了,把要用的命令加到 excludedCommands,比如 "docker compose *" |
| macOS 上本地启动的服务访问不了 | 设置 "network": { "allowLocalBinding": true } |
| macOS 上 git 用 SSH 推送失败 | 把远程地址换成 HTTPS |
Ubuntu 报 bwrap: setting up uid map: Permission denied |
AppArmor 拦住了 bubblewrap,参考官方文档加一个 AppArmor 配置 |
加进 excludedCommands 的命令会完全跑在沙箱外面,没有任何限制,所以范围越小越好,别图省事写个 *。
Claude Code 沙箱文档: https://code.claude.com/docs/en/sandboxing
第 5 关:日常最常用的操作
输入的小技巧
| 操作 | 怎么做 |
|---|---|
| 引用文件 | 输入 @ 加文件名,会自动补全,比如 @src/app.ts |
| 直接跑命令 | 输入 ! 开头,比如 ! git status,结果会给 Claude 看 |
| 粘贴截图 | Ctrl + V,界面报错、设计稿都可以直接贴给它 |
| 换行不发送 | \ 加回车,或者 Ctrl + J |
| 看快捷键 | 输入框为空时按 ? |
粘贴截图在 macOS 上也是 Ctrl + V,用 iTerm2 的是 Cmd + V,Windows 是 Alt + V。
打断和回退
- 按一次 Esc:打断它。发现它方向不对,马上按 Esc,然后告诉它正确的方向,已经做的工作不会丢
- 连按两次 Esc:输入框为空时,打开回退菜单,可以把对话和代码都回到之前某个时间点。也可以输入
/rewind
回退只能撤销它用编辑工具改的文件,通过命令删除或修改的文件不一定能恢复。所以重要的改动之前,先 git 提交一下,这是最靠谱的后悔药。
管理对话
对话越长,它要记的东西越多,回答质量会下降,用量也消耗得更快。
/clear:清空对话,开始一个新话题。换任务的时候就用它/compact:把前面的对话压缩成摘要,继续当前任务/context:看当前上下文占用了多少
关掉终端以后想接着聊:
1 | # 继续当前目录最近的一次对话 |
在对话里也可以用 /resume 选择历史对话。
切换模型和看用量
/model:切换模型,常用的是opus、sonnet、haiku,具体以列表里显示的为准。复杂任务用更强的模型,简单任务用更快的模型/usage:看用量和订阅额度还剩多少
一个推荐的工作流

做一个稍微复杂点的需求,我建议按这个顺序:
/plan描述需求,让它先出方案- 看方案,不对就让它改,对了再确认
- 它开始修改,发现方向不对随时 Esc 打断,改坏了用
/rewind回退 - 让它跑测试,确认没问题
- 用
/review让它检查一遍改动,看有没有遗漏的 Bug - 没问题再让它帮你 git 提交
第 6 关:让它更懂你
CLAUDE.md:给它的说明书

CLAUDE.md 是一个普通的 Markdown 文件,Claude Code 每次启动都会读。你写在里面的东西,相当于每次对话前都告诉了它一遍。
它有三个位置,作用范围不一样:
| 位置 | 作用范围 | 适合写什么 |
|---|---|---|
~/.claude/CLAUDE.md |
你的所有项目 | 个人习惯,比如“回答用中文” |
./CLAUDE.md |
当前项目,提交到 Git 和团队共享 | 构建命令、代码规范、项目结构 |
./CLAUDE.local.md |
当前项目,只有你自己 | 个人的测试账号、本地地址,记得加到 .gitignore |
/init 生成的只是一个起点,建议自己再补充一下。一个简单的例子:
1 | # 项目说明 |
写的时候记住两点:
- 写短、写具体:“代码要整洁”这种话没什么用,“函数不超过 50 行”才有用
- 它反复犯的错,就写进去:同一个问题纠正过两次,就该加到
CLAUDE.md里了
用 /memory 可以直接编辑这些文件。另外,新版本还有自动记忆功能,它会自己记下你纠正过它的地方,也可以在 /memory 里查看和开关。
权限规则:少点确认,多点安全
每次跑测试都要点确认,很烦。可以在设置文件里提前授权,项目级的放在 .claude/settings.json,全局的放在 ~/.claude/settings.json:
1 | { |
allow:这些操作直接执行,不用问deny:这些操作在任何模式下都不允许,比如不让它读.env里的密钥
不想手写的话,在对话里输入 /permissions,可以用界面管理这些规则。
设置时区
Claude Code 没有专门的时区设置项,它跟着环境变量 TZ 走。时区会影响它执行的命令看到的时间,比如 date 的输出、日志里的时间、git 提交记录的时间,还有和日期相关的测试。
最省事的办法是写在 ~/.claude/settings.json 的 env 里,每次启动都会生效:
1 | { |
时区用标准的地区名称,常用的有:
| 时区 | 写法 |
|---|---|
| 北京时间 | Asia/Shanghai |
| 美国西部 | America/Los_Angeles |
| 美国东部 | America/New_York |
如果你的网络出口 IP 在美国,也可以设成对应的美国时区,和 IP 保持一致。
只想临时用一次的话,启动时在前面加上:
1 | TZ=America/Los_Angeles claude |
设置完在对话里输入 ! date,看一下输出的时间对不对。
Windows 原生环境对 TZ 的支持不太稳定,建议直接改系统时区,或者在 WSL 里按上面的方式设置。
MCP:给它接上外部工具
MCP 可以理解为 Claude Code 的插件,接上以后,它就能操作数据库、读 Notion 文档、看 GitHub Issue 等等。
以 Notion 为例:
1 | # 添加一个 MCP 服务 |
添加以后,在对话里输入 /mcp 完成授权,就可以让它读写 Notion 了。
默认添加的 MCP 只在当前项目生效,想在所有项目里用,加上 --scope user。
彩蛋:不进入对话,直接在命令行里用
加上 -p 参数,Claude Code 回答完就退出,不进入对话界面,很适合和其他命令组合:
1 | # 直接问一个问题 |
-p 模式下没法弹出确认,如果需要它改文件或者跑命令,要提前用 --allowedTools 或者上面的权限规则授权。
遇到问题先看这里
1. 提示找不到 claude 命令
关掉终端重新打开。还不行,运行 claude doctor 看看安装是否正常。
2. 一直转圈,或者提示连不上
大概率是网络问题。确认设置了 HTTPS_PROXY,而且填的是 http:// 开头的地址,不是 SOCKS。在对话里输入 /status,能看到当前生效的代理。
3. 用量消耗得特别快
- 换任务时用
/clear,不要在一个对话里聊到天荒地老 - 简单的任务换成更快的模型
- 不要把一大堆用不到的文件都
@进来
4. 它把代码改坏了
先用 /rewind 回退。所以前面一直强调:重要改动之前先 git 提交。
5. 越聊越笨,开始答非所问
上下文太长了。用 /context 看一下占用,然后 /compact 压缩,或者 /clear 重新开始。
速查表
最后整理一张速查表,建议收藏。
启动命令:
| 命令 | 作用 |
|---|---|
claude |
启动对话 |
claude "问题" |
启动并直接提问 |
claude -c |
继续最近一次对话 |
claude -r |
选择一个历史对话继续 |
claude -p "问题" |
回答完直接退出 |
claude --permission-mode plan |
以 plan 模式启动 |
claude update |
手动更新 |
claude doctor |
检查安装和配置 |
claude mcp add / claude mcp list |
添加 / 查看 MCP |
对话中的命令:
| 命令 | 作用 |
|---|---|
/init |
生成 CLAUDE.md |
/plan |
进入 plan 模式,先出方案 |
/clear |
清空对话,开始新话题 |
/compact |
压缩对话,继续当前任务 |
/context |
查看上下文占用 |
/rewind |
回退对话和代码 |
/resume |
恢复历史对话 |
/model |
切换模型 |
/usage |
查看用量 |
/review |
检查当前的代码改动 |
/memory |
编辑 CLAUDE.md 和自动记忆 |
/permissions |
管理权限规则 |
/sandbox |
开启和设置沙箱 |
/mcp |
管理 MCP 连接 |
/status |
查看版本、账号、网络状态 |
/help |
查看帮助 |
/exit |
退出 |
快捷键:
| 快捷键 | 作用 |
|---|---|
Esc |
打断当前操作 |
Esc Esc |
回退(输入框为空时) |
Shift + Tab |
切换权限模式 |
Ctrl + V |
粘贴截图 |
\ + 回车 / Ctrl + J |
换行 |
Ctrl + R |
搜索历史输入 |
Ctrl + O |
查看详细的执行过程 |
Ctrl + C |
清空输入,连按两次退出 |
? |
显示所有快捷键 |
Claude Code 官方文档: https://code.claude.com/docs
以上就是 Claude Code 命令行版最常用的内容,掌握这些基本够日常使用了。有什么问题欢迎留言一起交流。