Claude Code命令CLI入门

命令分类

把 Claude Code 的命令按启动、交互、配置、信息、自动化等功能分类,给出代表命令、用途和典型使用场景的完整对照表。

· 阅读约 13 分钟

Claude Code 看起来命令不多,实际上每个命令都有自己的职责。如果你按”语法形式”分类(CLI 命令、CLI 标志、斜杠命令),只能看到表层结构。要真正用得顺手,得按”功能用途”分类——你打算干什么,就知道找哪类命令。

这篇文章把 Claude Code 的命令按功能分成五类:启动类、交互类、配置类、信息类、自动化类。每类列出代表命令、用途、典型使用场景。最后给一张完整对照表方便你随时查阅。


命令分类的两个维度

Claude Code 的命令体系,可以从两个维度看:

第一个维度:语法形式

  • CLI 子命令:claude xxx(在终端里运行,比如 claude mcp
  • CLI 标志:--xxx(附加参数,比如 --model
  • 斜杠命令:/xxx(在对话里运行,比如 /clear

第二个维度:功能用途

  • 启动类:决定 Claude Code 怎么启动
  • 交互类:在对话过程中做控制
  • 配置类:调整设置和环境
  • 信息类:查询状态、帮助、版本等
  • 自动化类:让 Claude Code 跑在脚本/CI 里

实际工作中我们更关心”我现在要干什么”,所以下面按功能分类讲。


第一类:启动类命令

这类命令决定 Claude Code 以什么方式启动、用什么模型、读什么上下文。

命令/标志类型用途
claudeCLI启动交互式 REPL
claude "问题"CLI带初始问题启动
claude -p "问题"CLI 标志非交互模式,执行后退出
claude -cCLI 标志继续上次对话
claude -rCLI 标志列出历史对话并恢复
claude --resume <id>CLI 标志恢复指定 ID 的对话
--model <name>CLI 标志指定模型
--system-prompt "..."CLI 标志替换系统提示
--append-system-prompt "..."CLI 标志追加系统提示

典型场景:

# 日常进入项目目录就直接启动
cd ~/projects/my-app
claude

# 想用 Opus 处理复杂重构
claude --model claude-opus-4-7

# 昨天聊到一半的对话接着聊
claude -c

# 给 Claude 加一段持久指令
claude --append-system-prompt "回答时所有代码都用 TypeScript,不要 JavaScript"

这类命令的共同点是:它们影响”这次对话从哪开始、按什么规则进行”。一旦启动后,这些参数就锁定了,要改就得退出重启。


第二类:交互类命令

进入 REPL 之后,对话过程中用的命令。基本都是斜杠命令。

斜杠命令用途
/help列出所有可用斜杠命令
/clear清空当前对话历史
/compact压缩对话历史(保留要点,省 Token)
/model切换当前模型
/init在项目里初始化 CLAUDE.md
/review请求代码审查
/cost查看本次会话的 Token 用量和费用
/exitCtrl+D退出 REPL
/bug提交 bug 报告给 Anthropic
/login / /logout切换账号

典型场景:

> 写一个 React 表格组件
# Claude 写了一段代码

> /model
# 切到 Opus 让它帮我重构

> /cost
# 看看花了多少
> Total cost:        $0.18
> Total duration:    3m 42s
> Total code changes: 142 lines added, 28 removed

> /compact
# 压缩一下上下文,准备聊新的话题

/compact 是一个非常有用的命令。它会让 Claude 把前面的长对话压缩成几句要点,再继续。比 /clear 完全清空更好——因为它保留了”我们已经讨论过什么、决定了什么”的关键信息。


第三类:配置类命令

调整 Claude Code 自身的配置:MCP 服务器、权限、Hook、订阅信息等。

命令类型用途
claude configCLI 子命令打开配置文件
claude mcp add <name>CLI 子命令添加 MCP 服务器
claude mcp listCLI 子命令列出已配置的 MCP
claude mcp remove <name>CLI 子命令移除 MCP 服务器
/config斜杠命令在对话内打开配置
/permissions斜杠命令查看/修改权限规则
/hooks斜杠命令查看/编辑 hooks
--allowedTools "..."CLI 标志临时放行某些工具
--permission-mode <mode>CLI 标志设置权限模式
--dangerously-skip-permissionsCLI 标志跳过所有权限确认

典型场景:

# 给项目加一个 GitHub MCP,让 Claude 能查 issue
claude mcp add github

# 看看现有 MCP 列表
claude mcp list
# 输出
# github     stdio   ✓ connected
# postgres   stdio   ✓ connected

# 在交互里想批量改文件,不想每次都点确认
> /permissions
# 把 Edit、Write 加进 allowList

注意 --dangerously-skip-permissions 这个标志非常危险,名字里就告诉你了。它会让 Claude 在没有任何确认的情况下执行所有工具调用,包括 rm -rf只在沙箱、Docker 容器、CI 隔离环境下使用,绝对不要在你日常开发的机器上用。


第四类:信息类命令

查询状态、帮助、版本、文档相关。

命令类型用途
claude --version-vCLI 标志查看版本
claude --help-hCLI 标志查看 CLI 帮助
claude help <subcommand>CLI 子命令查看子命令帮助
claude doctorCLI 子命令诊断当前环境
/help斜杠命令列出斜杠命令
/status斜杠命令查看当前会话状态
/cost斜杠命令查看用量
/release-notes斜杠命令查看版本更新内容

典型场景:

# 升级前先看版本
claude --version
# 1.0.42

# 出问题了,先 doctor 一下
claude doctor
# Checking Node.js version...   ✓ v20.10.0
# Checking authentication...    ✓ Logged in as user@example.com
# Checking MCP servers...       ✓ 2 servers responding
# Checking permissions...       ✓ OK

# 在交互里查询状态
> /status
# Model:        claude-opus-4-7
# Conversation: 12 messages, 18,432 tokens
# Cost:         $0.14
# Cwd:          /home/user/projects/my-app

claude doctor 在出问题时是第一个该跑的命令。它会自动检测 Node 版本、网络、登录状态、MCP 连接、权限文件等。比你一项一项排查快得多。


第五类:自动化类命令

让 Claude Code 在脚本、CI、Pipeline 里运行的命令组合。

标志用途
-p "prompt"--print非交互模式,打印结果后退出
--output-format text文本输出(默认)
--output-format jsonJSON 输出
--output-format stream-json流式 JSON 输出
--allowedTools "..."白名单工具
--disallowedTools "..."黑名单工具
--max-turns <n>限制工具调用次数
--input-format stream-json从 stdin 读取流式输入
--dangerously-skip-permissions跳过权限确认(危险)
--verbose详细日志

典型场景:

# CI 里跑代码审查,结果写到文件
claude -p "审查 git diff 里的代码改动,列出问题" \
  --output-format json \
  --allowedTools "Bash(git diff)" \
  > review.json

# 流式输出,前端实时拿到 token
claude -p "解释 main.go" \
  --output-format stream-json | \
  while IFS= read -r line; do
    echo "$line" | jq -r '.delta // empty'
  done

# pre-commit hook 里限制不让 Claude 改 .env 文件
claude -p "..." \
  --disallowedTools "Edit(.env),Write(.env)" \
  --max-turns 5

自动化场景里,--output-format json--max-turns 是最实用的两个。前者让脚本能解析结果,后者防止 Claude 死循环消耗 Token。


完整命令对照表

下面这张表把 Claude Code 的主要命令都列在一起,方便你 Ctrl+F 搜索:

命令类型分类用途
claudeCLI启动启动 REPL
claude "..."CLI启动带问题启动
claude -p "..."标志自动化非交互打印模式
claude -c标志启动继续上次对话
claude -r标志启动列表选择历史对话
claude --resume <id>标志启动恢复指定对话
claude updateCLI配置升级 Claude Code
claude doctorCLI信息环境诊断
claude configCLI配置编辑配置
claude mcp add/list/removeCLI配置管理 MCP 服务器
claude --version标志信息查看版本
claude --help标志信息查看帮助
--model <name>标志启动选模型
--system-prompt "..."标志启动替换系统提示
--append-system-prompt "..."标志启动追加系统提示
--allowedTools "..."标志自动化/配置工具白名单
--disallowedTools "..."标志自动化/配置工具黑名单
--permission-mode <m>标志配置权限模式
--dangerously-skip-permissions标志自动化跳过所有确认(危险)
--output-format <f>标志自动化输出格式
--max-turns <n>标志自动化工具调用次数上限
--verbose标志信息详细日志
/help斜杠信息列出斜杠命令
/clear斜杠交互清空对话
/compact斜杠交互压缩对话
/model斜杠交互切换模型
/init斜杠配置初始化 CLAUDE.md
/review斜杠交互代码审查
/cost斜杠信息查看费用
/status斜杠信息查看状态
/config斜杠配置编辑配置
/permissions斜杠配置编辑权限
/hooks斜杠配置编辑 hooks
/release-notes斜杠信息版本更新
/login /logout斜杠配置账号切换
/bug斜杠信息提交 bug
/exit斜杠交互退出

常见问题

Q: --allowedTools/permissions 什么关系?

--allowedTools 是命令行临时参数,只对这次启动有效。/permissions 是修改持久化的配置(写到 .claude/settings.json 里),下次启动还有效。在脚本里用前者,在日常开发里用后者。

Q: 斜杠命令能在 -p 模式下用吗?

不能。-p 是单次执行的非交互模式,根本没有 REPL,自然没有斜杠命令。如果你需要在脚本里”切换模型”或”清空上下文”,应该用 CLI 标志(--model)或重新启动一次 Claude。

Q: claude config/config 一样吗?

功能上一样——都是编辑同一个配置文件。区别只是入口:前者从终端进入,后者从对话内进入。底层是同一个 ~/.claude/settings.json(或项目里的 .claude/settings.json)。

Q: 我经常忘命令,有什么办法?

记住三个入口就行:

  • 终端:claude --help
  • 对话内:/help
  • 任何地方:按 Tab 补全

不需要把所有命令都背下来。


快速参考:场景 → 命令

我想做的事用什么
启动一次新对话claude
续上次的claude -c
写脚本里调用 Claudeclaude -p "..." --output-format json
切换模型启动时 --model,对话中 /model
查看花了多少钱/cost
排查问题claude doctor
升级claude update
查版本claude --version
不想每次确认--allowedTools/permissions
CI 里跑-p + --output-format json + --allowedTools
提交 bug/bug

按”我想做什么”找命令,比按字母顺序背命令快得多。

标记本节教程为已读

记录您的学习进度,方便后续查看。