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
2
3
4
5
# macOS Homebrew
brew install --cask claude-code

# Windows WinGet
winget install Anthropic.ClaudeCode

用 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
2
cd 你的项目目录
claude

第一次启动会让你选择登录方式,然后打开浏览器授权。用订阅的选 Claude 账号,用 API 的选 Console 账号。

登录以后,相关的几个命令:

  • /status:看当前的版本、模型、账号和网络情况
  • /login:切换账号
  • /logout:退出登录

第一次对话,先让它了解项目

不要一上来就让它改代码,先让它熟悉一下项目:

1
这个项目是做什么的?主要的目录结构是怎样的?

它会自己去读文件,然后告诉你项目的情况。接着运行:

1
/init

它会分析整个项目,生成一个 CLAUDE.md 文件,里面是项目的构建命令、测试方法、代码规范等。以后每次启动,它都会先读这个文件。这个文件很重要,第 6 关会详细讲。

让它改点东西

试着给它一个小任务,比如修一个小 Bug。它会:

  1. 读相关的代码
  2. 告诉你它打算怎么改
  3. 修改文件或执行命令之前,弹出确认,问你同不同意

确认的时候,可以只同意这一次,也可以选择以后不再问同类操作。不同意的话,可以直接告诉它你想怎么改。

提示词怎么写

Claude Code 很聪明,但它不知道你脑子里在想什么。对比一下:

不好的写法:

1
帮我优化一下代码

好的写法:

1
2
src/api/user.ts 里的 getUser 接口响应很慢,帮我找出原因并修复。
不要改接口的入参和返回格式,改完跑一下 pnpm test 确认测试通过。

好的提示词一般包含四件事:

  1. 目标:要解决什么问题
  2. 范围:涉及哪些文件或模块
  3. 约束:哪些东西不能动
  4. 验证:改完怎么确认是对的

尤其是第 4 点,告诉它怎么验证,它就能自己跑测试、看结果、发现问题再改,而不是改完就交差。

第 4 关:管住它的手,权限模式

Claude Code 能改文件、跑命令,那它什么时候需要问你、什么时候可以直接做?这由权限模式决定。

在对话中按 Shift + Tab 可以切换模式,输入框下方会显示当前是哪个模式:

模式 它能直接做什么 适合
default(Manual) 只能读文件,改文件和跑命令都要问你 刚上手、敏感项目
acceptEdits 读文件、改文件、常见的文件操作不用问 你在旁边盯着改代码
plan 只看不改,读完代码给你出一份方案 大改动之前先想清楚
auto 大部分操作直接做,后台有安全检查拦截危险操作 比较长的任务

几个建议:

  • 新版本默认就是 auto 模式启动。如果你刚上手,想看清楚它每一步在干什么,可以按 Shift + Tab 切到 default
  • **大改动先用 plan**:直接输入 /plan 你的需求,它会先出方案,你确认以后才开始改。方案不对可以直接让它调整,比改完再返工省事得多
  • 还有一个 bypassPermissions 模式,所有操作都不问,要在启动时加 --dangerously-skip-permissions 这类参数才会开启。官方建议只在隔离的容器或虚拟机里用,日常别碰

再加一道保险:沙箱

权限模式管的是“做之前问不问你”,沙箱管的是“命令最多能碰到什么”。两者不冲突,可以一起用。

开启沙箱以后,Claude 执行的 shell 命令会被操作系统限制住:

  • 文件:只能写当前项目目录、临时目录,以及你额外允许的目录。像 ~/.ssh、系统目录这些地方,命令写不进去
  • 网络:命令不能直接联网,访问哪个域名要你批准,或者提前加进白名单

注意两点:

  1. 沙箱只管 shell 命令。Claude 自带的读写文件工具、MCP 不在沙箱里,它们还是靠权限规则来管
  2. 沙箱限制的是“写”,读基本不限。所以 .env 这类密钥文件,还是要用前面讲的 deny 规则挡住

支持哪些系统

系统 支持情况
macOS 支持,系统自带,不用装东西
Linux、WSL2 支持,需要先安装 bubblewrap 和 socat
Windows 原生 不支持,想用沙箱就在 WSL2 里运行 Claude Code

Linux 和 WSL2 先装依赖:

1
2
3
4
5
# Ubuntu / Debian
sudo apt-get install bubblewrap socat

# Fedora
sudo dnf install bubblewrap socat

装完重启 Claude Code。

怎么开启

沙箱默认是关闭的。最简单的方式是在对话里输入:

1
/sandbox

会打开一个设置面板,可以开启沙箱、选择模式、查看缺少哪些依赖。模式有两种:

  • 自动放行:在沙箱里跑的命令不再一条条问你,跑出沙箱的操作才会问
  • 常规权限:开了沙箱,但每条命令还是照常问你

我推荐沙箱 + 自动放行:大部分命令不用再点确认,又不用担心它乱删乱改项目以外的东西,是安全和省事之间比较好的平衡。

也可以直接写在 ~/.claude/settings.json 里,对所有项目生效。顺便把常用的目录和域名放进白名单:

1
2
3
4
5
6
7
8
9
10
11
{
"sandbox": {
"enabled": true,
"filesystem": {
"allowWrite": ["~/.npm", "/tmp/build"]
},
"network": {
"allowedDomains": ["github.com", "*.npmjs.org"]
}
}
}
  • filesystem.allowWrite:额外允许写入的目录,比如包管理器的缓存目录
  • network.allowedDomains:允许访问的域名,不用每次都确认

怎么确认沙箱生效了

让 Claude 帮你执行下面两条命令。不要自己用 ! 输入,! 跑的命令一般不在沙箱里:

1
2
touch ~/sandbox-probe
curl --noproxy '*' https://example.com

沙箱生效的话,第一条会报没有权限,第二条会报找不到域名。如果 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
2
3
4
5
# 继续当前目录最近的一次对话
claude -c

# 从历史对话里选一个继续
claude -r

在对话里也可以用 /resume 选择历史对话。

切换模型和看用量

  • /model:切换模型,常用的是 opus、sonnet、haiku,具体以列表里显示的为准。复杂任务用更强的模型,简单任务用更快的模型
  • /usage:看用量和订阅额度还剩多少

一个推荐的工作流

做一个稍微复杂点的需求,我建议按这个顺序:

  1. /plan 描述需求,让它先出方案
  2. 看方案,不对就让它改,对了再确认
  3. 它开始修改,发现方向不对随时 Esc 打断,改坏了用 /rewind 回退
  4. 让它跑测试,确认没问题
  5. 用 /review 让它检查一遍改动,看有没有遗漏的 Bug
  6. 没问题再让它帮你 git 提交

第 6 关:让它更懂你

CLAUDE.md:给它的说明书

CLAUDE.md 是一个普通的 Markdown 文件,Claude Code 每次启动都会读。你写在里面的东西,相当于每次对话前都告诉了它一遍。

它有三个位置,作用范围不一样:

位置 作用范围 适合写什么
~/.claude/CLAUDE.md 你的所有项目 个人习惯,比如“回答用中文”
./CLAUDE.md 当前项目,提交到 Git 和团队共享 构建命令、代码规范、项目结构
./CLAUDE.local.md 当前项目,只有你自己 个人的测试账号、本地地址,记得加到 .gitignore

/init 生成的只是一个起点,建议自己再补充一下。一个简单的例子:

1
2
3
4
5
6
7
8
9
10
# 项目说明
- Next.js + TypeScript 项目,包管理器用 pnpm
- 启动:pnpm dev;测试:pnpm test;检查:pnpm lint

# 代码规范
- 组件用函数式写法,样式用 Tailwind
- 新增接口必须写单元测试

# 注意
- 不要修改 src/generated/ 下的文件,它们是自动生成的

写的时候记住两点:

  1. 写短、写具体:“代码要整洁”这种话没什么用,“函数不超过 50 行”才有用
  2. 它反复犯的错,就写进去:同一个问题纠正过两次,就该加到 CLAUDE.md 里了

用 /memory 可以直接编辑这些文件。另外,新版本还有自动记忆功能,它会自己记下你纠正过它的地方,也可以在 /memory 里查看和开关。

权限规则:少点确认,多点安全

每次跑测试都要点确认,很烦。可以在设置文件里提前授权,项目级的放在 .claude/settings.json,全局的放在 ~/.claude/settings.json:

1
2
3
4
5
6
7
8
9
10
11
12
{
"permissions": {
"allow": [
"Bash(pnpm test)",
"Bash(pnpm lint)"
],
"deny": [
"Read(./.env)",
"Bash(rm -rf *)"
]
}
}
  • allow:这些操作直接执行,不用问
  • deny:这些操作在任何模式下都不允许,比如不让它读 .env 里的密钥

不想手写的话,在对话里输入 /permissions,可以用界面管理这些规则。

设置时区

Claude Code 没有专门的时区设置项,它跟着环境变量 TZ 走。时区会影响它执行的命令看到的时间,比如 date 的输出、日志里的时间、git 提交记录的时间,还有和日期相关的测试。

最省事的办法是写在 ~/.claude/settings.json 的 env 里,每次启动都会生效:

1
2
3
4
5
{
"env": {
"TZ": "Asia/Shanghai"
}
}

时区用标准的地区名称,常用的有:

时区 写法
北京时间 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
2
3
4
5
# 添加一个 MCP 服务
claude mcp add --transport http notion https://mcp.notion.com/mcp

# 查看已添加的 MCP 服务和连接状态
claude mcp list

添加以后,在对话里输入 /mcp 完成授权,就可以让它读写 Notion 了。

默认添加的 MCP 只在当前项目生效,想在所有项目里用,加上 --scope user。

彩蛋:不进入对话,直接在命令行里用

加上 -p 参数,Claude Code 回答完就退出,不进入对话界面,很适合和其他命令组合:

1
2
3
4
5
6
7
8
# 直接问一个问题
claude -p "解释一下 src/utils/date.ts 是做什么的"

# 把报错日志丢给它分析
cat error.log | claude -p "分析一下这个报错的原因"

# 根据改动写 commit message
git diff | claude -p "根据这些改动写一条简洁的 commit message"

-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 命令行版最常用的内容,掌握这些基本够日常使用了。有什么问题欢迎留言一起交流。

公众号