Claude Code 的命令很多,但入门不需要背命令表。真正需要建立的是一条稳定的工作路径:在正确的目录启动,先让它理解项目,再控制修改范围,最后检查差异并运行验证。
本文沿着这条路径讲清四个入口:CLI 启动参数、会话内 / 命令、仓库中的配置文件,以及 Skill、MCP、子 Agent 等扩展能力。具体参数会随版本变化,完整清单应以 claude --help 和官方文档为准。
一、先分清四个入口
Claude Code 既是终端程序,也是一个会调用工具完成任务的 Agent。使用者面对的是四类入口,它们解决的问题不同:
| 入口 | 什么时候生效 | 主要用途 | 典型例子 |
|---|---|---|---|
| CLI 启动参数 | 会话开始时 | 选择运行方式、权限和输出格式 | claude -p、--model、--permission-mode |
/ 命令 | 会话运行中 | 查看或调整当前状态 | /context、/compact、/permissions |
| 项目文件 | 启动和任务执行期间 | 保存团队规则与本地配置 | CLAUDE.md、.claude/settings.json |
| 扩展能力 | 按配置或任务加载 | 复用流程、连接外部系统、隔离上下文 | Skill、MCP、子 Agent、插件 |
最容易混淆的是前三类。claude --model sonnet 是启动参数,/model 是会话内命令,model 配置则可以写入设置文件。它们可能控制同一能力,但生效时机和适用场景不同。
还要分清“命令”和“工具”。/compact 是使用者操作会话的命令;Read、Edit、Bash 是 Claude 在任务循环中调用的工具。正常使用时不需要逐个指挥工具,应该描述目标、约束和验收条件,让 Claude 选择操作路径。
二、完成第一次任务
2.1 从仓库根目录启动
以下命令用于进入项目并启动交互会话:
cd /path/to/projectclaude启动目录决定默认工作区。Claude 可以读取该目录及其子目录;访问工作区之外的路径通常需要额外授权,可在启动时使用 --add-dir,也可在会话内使用 /add-dir。
第一次进入仓库,可以先让 Claude 回答三个问题:
先不要修改文件。请说明这个项目的技术栈、主要目录、测试入口,以及完成修改前必须遵守的仓库规则。这个提示的重点是“先不要修改文件”。在还不知道项目结构时,先建立共同上下文,比一上来就要求实现功能更稳妥。
2.2 建立项目规则
仓库没有 CLAUDE.md 时,可以运行 /init 生成初稿。生成后仍要人工检查,只保留长期稳定、可以执行的规则,例如:
- 使用哪个包管理器和构建命令;
- 代码、测试和文档分别放在哪里;
- 修改后必须运行哪些检查;
- 哪些目录、生成物或外部系统不能直接改;
- 提交、发布和删除操作需要什么授权。
CLAUDE.md 不适合存放一次性任务描述,也不应该成为项目文档的副本。内容越长,越容易挤占上下文并稀释真正重要的约束。
2.3 先探索,再修改
一个可复用的任务描述应同时包含目标、范围和验收条件:
修复登录接口在请求超时时重复提交的问题。
范围:只修改认证模块及相关测试,不调整公共 HTTP 客户端。验收:先说明根因和方案,再实现;运行认证模块测试和类型检查;最后列出改动文件与剩余风险。这比“修一下登录 Bug”更有效,因为 Claude 知道什么可以动、什么时候算完成。对于跨模块改动或存在多种方案的任务,先用 /plan 进入计划模式;小而明确的修改则可以直接执行。
2.4 检查差异和验证结果
任务完成后至少检查三件事:
- 使用
/diff或git diff查看实际改动,确认没有越界文件。 - 查看测试、类型检查或构建的原始结果,不只接受“已经验证”的文字结论。
- 要求 Claude 说明未验证项、假设和潜在回归点。
Claude Code 能执行命令,但不会让概率模型变成确定性程序。测试通过只能证明已运行的检查没有发现问题,不能替代代码审查和发布控制。
三、最值得记住的 CLI 用法
3.1 交互、一次性查询与恢复会话
日常使用主要有三种启动方式:
# 启动交互会话claude
# 执行一次查询并退出,适合脚本和 CIclaude -p "解释这个项目的测试结构"
# 继续当前目录最近的会话claude -c
# 按名称或 ID 恢复指定会话claude -r "auth-refactor"交互模式适合需要多轮探索和修改的任务;-p 适合输入输出边界清楚的自动化。恢复会话会带回先前的上下文,因此开始新任务时应优先 /clear 或新建会话,避免旧假设继续影响判断。
3.2 让脚本接收结构化结果
自由文本适合人读,自动化程序更适合消费 JSON。以下命令要求 Claude Code 返回结构化结果:
claude -p --output-format json \ --json-schema '{"type":"object","properties":{"summary":{"type":"string"},"risk":{"type":"string"}},"required":["summary","risk"]}' \ "审查当前变更,概括改动并判断风险"调用方应读取结果中的结构化字段,同时处理非零退出、超时和权限拒绝。JSON Schema 约束的是输出形状,不保证内容本身正确。
3.3 控制模型、目录和工具范围
几个高频参数足以覆盖多数场景:
| 参数 | 作用 | 使用判断 |
|---|---|---|
--model | 选择模型或模型别名 | 需要固定模型时显式指定,否则沿用配置 |
--effort | 调整推理投入 | 复杂设计和疑难排错提高,机械任务无需一直开高 |
--add-dir | 增加可访问目录 | 任务确实跨仓库或跨目录时再开放 |
--tools | 限制本次会话可见的内置工具 | 只读审查或受控自动化中使用 |
--allowedTools | 让匹配的工具调用无需再次询问 | 仅预批准已知、可重复、低风险的操作 |
--allowedTools 不是工具白名单。未列出的工具仍可能可见,只是继续走正常权限判断;如果要限制工具是否存在,应使用 --tools 或权限中的拒绝规则。
四、权限模式不是同一档位的“放权”
Claude Code 的权限同时受工作目录、规则和模式影响。当前常见模式可以这样理解:
| 模式 | 行为 | 适用场景 |
|---|---|---|
default | 按标准规则询问需要批准的写入和命令 | 日常交互的稳妥起点 |
acceptEdits | 自动接受工作区内文件编辑,其他风险操作仍按规则处理 | 范围明确的本地编码 |
plan | 只探索和制定方案,不实施修改 | 需求模糊、改动面较大 |
auto | 由安全分类器判断多数操作是否符合请求 | 已支持该模式的订阅和环境 |
dontAsk | 未被规则预批准的操作直接拒绝,不弹窗询问 | 无人值守且需要失败关闭的任务 |
bypassPermissions | 跳过权限提示 | 仅限外部已经充分隔离的环境 |
dontAsk 不是“不问直接执行”,而是“不问直接拒绝未批准操作”。这是自动化场景中非常关键的区别。
bypassPermissions 也不等于沙箱。它跳过的是 Claude Code 的权限确认,并不会自动移除密钥、限制网络或创建一次性文件系统。若必须使用,应先在容器或虚拟机层面隔离数据、凭据和网络。
可以通过 /permissions 查看规则来源。权限规则遵循“拒绝、询问、允许”的匹配顺序,拒绝规则优先。团队共享规则放入 .claude/settings.json,个人机器上的例外放入 .claude/settings.local.json,不要把个人路径和凭据提交到仓库。
五、运行中只需要掌握这些命令
命令是否可见会受版本、平台、套餐和扩展影响。与其背完整列表,不如按任务阶段记住入口。
5.1 开始任务
| 命令 | 用途 |
|---|---|
/init | 为仓库生成 CLAUDE.md 初稿 |
/plan | 先探索和制定方案,再决定是否实施 |
/permissions | 查看或调整当前权限规则 |
/mcp | 查看 MCP 服务器状态并完成认证 |
5.2 执行任务
| 命令 | 用途 |
|---|---|
/context | 查看什么正在占用上下文窗口 |
/compact | 将较早对话总结为更短的上下文 |
/model、/effort | 调整模型和推理投入 |
/tasks | 查看当前会话中的后台工作和子任务 |
/btw | 提一个不写入主对话历史的旁支问题 |
自动压缩会在上下文接近容量时触发;手动 /compact 更适合阶段切换,例如探索结束、准备实现之前。压缩是有损总结,关键约束应放在 CLAUDE.md、任务描述或外部文档中,不能只依赖较早的聊天记录。
5.3 收尾与排错
| 命令 | 用途 |
|---|---|
/diff | 查看本次会话造成的文件差异 |
/review | 审查当前差异或指定变更 |
/rewind | 回到检查点,可选择恢复代码、对话或两者 |
/doctor | 诊断安装、认证和配置问题 |
/debug | 收集运行时诊断信息 |
/clear、/resume | 开始新任务或返回历史会话 |
/rewind 依赖 Claude Code 的检查点机制,但它不是 Git 事务。关键改动仍应使用分支、提交或 worktree 建立可审查、可恢复的边界。
六、哪些文件应该手动维护
无需理解 Claude Code 的全部本地存储。对日常使用有价值的是公开配置入口:
| 路径 | 内容 | 是否共享 |
|---|---|---|
CLAUDE.md | 项目约束、命令和关键路径 | 通常提交到仓库 |
.claude/rules/*.md | 可拆分或按路径加载的项目规则 | 通常提交到仓库 |
.claude/settings.json | 团队权限与功能配置 | 适合提交到仓库 |
.claude/settings.local.json | 个人机器上的覆盖配置 | 通常不提交 |
.claude/skills/ | 项目可复用的知识和工作流 | 需要团队复用时提交 |
.claude/agents/ | 项目自定义子 Agent | 需要团队复用时提交 |
.mcp.json | 项目级 MCP 服务器定义 | 只提交可信且不含密钥的配置 |
~/.claude/settings.json | 用户级全局配置 | 仅本机 |
~/.claude/CLAUDE.md | 用户级长期偏好 | 仅本机 |
会话记录、检查点、缓存和自动记忆由 Claude Code 管理,路径和格式可能变化。它们适合排障和迁移,不宜成为业务脚本依赖的稳定接口。
下面这个配置片段用于展示最小权限规则,重点看允许与拒绝的边界:
{ "permissions": { "allow": [ "Bash(git status)", "Bash(git diff *)" ], "deny": [ "Read(./.env)", "Bash(curl *)" ] }}这组规则只预批准查看 Git 状态和差异,同时阻止读取 .env 与直接发起 curl 请求。真实项目应从任务所需的最小范围开始,而不是先写一个 Bash(*) 再补漏洞。
七、扩展能力的边界
Claude Code 的扩展方式很多,但它们并不是同一类东西:
| 能力 | 本质 | 适合解决的问题 |
|---|---|---|
CLAUDE.md | 每次会话加载的长期上下文 | 项目必须遵守的稳定规则 |
| Skill | 可按需加载的知识或工作流 | 重复任务、操作清单、领域说明 |
| 子 Agent | 独立上下文中的委派执行 | 搜索结果很多、任务可以拆分或需要专业角色 |
| Hook | 生命周期事件触发的确定性动作 | 每次编辑后运行格式化、阻止特定命令 |
| MCP | 外部服务器提供的工具、资源和提示 | 数据库、工单、浏览器、内部 API |
| 插件 | 对 Skill、Agent、Hook、MCP 等能力的分发封装 | 团队安装、版本管理和复用一组扩展 |
| Channel | 将外部事件推入正在运行的会话 | 让聊天平台或其他事件源触发任务 |
Skill 不会凭空获得系统权限,它只是给现有工具补充做事方法。MCP 才会增加外部工具能力,因此需要单独审查服务器来源、权限和输出。插件是包装与分发形式,安装插件等于同时信任它包含的多个组件,不能因为来自 marketplace 就跳过审查。
Channel 也不是普通 MCP 工具。它通过 MCP 服务器把外部事件推入活跃会话,适合长时间运行和事件驱动场景,目前仍属于研究预览能力。入门阶段通常不需要配置。
八、子 Agent、任务和并行能力怎么选
Claude Code 有多种并行方式,选择依据不是“越多越快”,而是上下文是否需要隔离、工作是否需要协调:
| 方式 | 特点 | 适用场景 |
|---|---|---|
| 子 Agent | 在当前会话内执行旁支任务,只返回总结 | 大量搜索、独立分析、专业审查 |
| 后台会话与 Agent View | 多个独立会话由使用者调度 | 几个互不依赖的任务 |
| Agent Teams | 多会话共享任务并互相通信 | 需要持续协调的复杂项目,当前仍是实验能力 |
| 动态 Workflow | 脚本化启动和交叉验证大量子 Agent | 大规模审计、迁移或研究 |
Task 工具和 /tasks 主要用于跟踪进度、依赖和后台工作,不等于新的执行者。具体任务工具是否提供,可能受模型、提供商和会话配置影响,不应把内部工具名写进长期工作流;面向使用者时优先通过自然语言拆任务,并用 /tasks 查看状态。
九、一条可复用的上手路径
第一次接入新仓库,可以按以下顺序执行:
- 从仓库根目录启动,先要求只读探索。
- 检查
CLAUDE.md和仓库原有规则,缺失时用/init生成初稿并人工精简。 - 在任务描述中写清目标、范围、验收命令和禁止事项。
- 大改动先
/plan,小改动直接执行;只在任务可独立拆分时使用子 Agent。 - 权限从最小范围开始,
dontAsk用于失败关闭,bypassPermissions只用于外部隔离环境。 - 阶段切换时查看
/context,必要时/compact,不要让关键约束只存在于聊天历史。 - 收尾时查看
/diff、运行验证、说明未验证项,再由人决定提交和发布。
Claude Code 的入门门槛不在命令数量,而在边界意识。能说清任务、限制权限、观察差异并验证结果,已经覆盖了日常使用中最重要的部分。
参考资料
- Claude Code CLI 参考 - 启动方式、子命令与参数
- Claude Code 命令参考 - 会话内命令及可用性说明
- Claude Code 权限配置 - 权限规则、模式与目录边界
- Claude Code 扩展能力概览 - Skill、子 Agent、Hook、MCP 与插件的选择
- Claude Code 并行 Agent - 子 Agent、Agent View、Agent Teams 与 Workflow
- Claude Code MCP 文档 - 外部工具接入、作用域和安全注意事项
支持与分享
如果这篇文章对你有帮助,欢迎支持作者或分享给更多人
部分信息可能已经过时








