DOCAI · 课程 · L3 · 20 分钟 · 命令参考
命令分类
不按语法记命令,按用途找命令:启动、交互、配置、信息、自动化五类各自解决什么问题,配一张场景对照表和常见误区。
你将学会
- 能按用途把常用命令归入五类
- 能区分临时参数与持久配置的生效范围
- 能用三个入口快速找回忘记的命令
按形式记,越记越乱
命令清单看一遍,感觉不多。真到要用的时候,还是想不起来该敲哪一个。原因常出在分类方式:按「子命令、标志、斜杠」记,只能记住长相,记不住用途。
换一种分法:先问自己现在要干什么,再去对应类别里找。形式只是外壳,用途才是索引。三类入口的分工,可以复习命令系统简介。
先看两个维度。第一个是形式:
- 子命令:跟在主命令后面,在终端里运行;
- 启动标志:在启动命令后加
-或--开头的参数; - 斜杠命令:在对话界面里输入,以斜杠开头。
第二个维度是用途,也是更实用的那个:启动、交互、配置、信息、自动化。同一个用途下,可能同时出现三种形式的命令,这很正常。五类用途先用一张表记住:
| 类别 | 解决什么问题 | 典型代表 |
|---|---|---|
| 启动 | 以什么方式开始、用什么模型、读哪段上下文 | 直接运行、带问题启动、继续上次会话 |
| 交互 | 在对话进行时做调节 | 清空、压缩、换模型、请求审查 |
| 配置 | 调整工具自身行为 | 外部连接管理、权限规则、钩子 |
| 信息 | 查状态、帮助与版本 | 帮助、状态、用量、环境诊断 |
| 自动化 | 在脚本和流水线里执行 | 非交互模式、输出格式、工具放行与禁用、轮次上限 |
先记住类别,再记具体命令。类别稳,命令会随版本增减。
启动类:开局定下起点与规则
启动方式决定这次会话的起点与运行规则:
# 进入交互界面
claude
# 带着一个问题进入
claude "讲讲这个模块的分工"
claude -c
第一行进交互界面,第二行带着问题进入,第三行接着上次聊。模型、系统提示这类参数也一样,启动后基本锁定。想中途换模型,可以用对话内的切换命令;想改系统提示,通常要退出重来。
昨天聊到一半的会话,用恢复类参数从历史列表里挑,比翻记录快。
交互与配置:临时调节,长期规则
进入对话后,斜杠命令就是操作台:
/clear
/compact
/model
/cost
/status
/compact 值得单独讲。它把前面的长篇对话压成几句要点,保留「讨论过什么、定了什么」,再接着聊;/clear 则是把对话上下文清空。话题还在延续但上下文太长,选前者;换到完全无关的任务,选后者。
/cost 和 /status 用来核对本次会话的消耗与当前状态。数字不必背,养成交付前看一眼的习惯即可。
另一类命令管的是「以后都这样」:外部工具连接、权限规则、钩子脚本、账号切换。
这里有个常见混淆:启动时用参数放行某些工具,只对本次有效,退出即失效;把允许规则写进权限设置,会落进配置文件,下次启动仍然生效。临时试验用前者,日常习惯用后者。规则改动会影响它能不能执行删除、推送这类操作,动手前先确认范围。
配置入口有两个:对话内的 /config 设置面板,和项目或用户目录下的设置文件。两者最终改的是同一套配置,区别只是你从哪扇门进去。
信息与自动化:排障与流水线
状态查询和排障命令不起眼,却能省下大量时间:
- 帮助:看当前版本支持哪些命令与参数;
- 状态:看本次会话的上下文长度、用量与工作目录;
- 版本:升级前先确认自己装的是哪一版;
- 环境诊断:自动检查运行环境、登录状态、外部连接与配置文件。
其中环境诊断最值得记住。遇到启动失败、连接不上、行为异常,先跑它,通常比逐项猜要快。具体输出以当前版本为准。
让它在脚本或流水线里跑,则是另一条路,三类设置决定成败:
- 非交互模式:执行完就退出,不进入对话;
- 输出格式:文本给人看,结构化数据给程序解析;
- 边界:放行规则决定哪些操作不必逐次确认,禁止清单限定不能碰的范围,轮次上限防止反复尝试。
claude -p "汇总今天的改动,输出三条要点" --verbose
写进流水线之前,先在本地跑通同一条命令,确认它会做什么、不会做什么。跳过确认的危险开关只适合临时容器,别带进日常环境,边界原则见人在回路。
场景速查:从要做的事反查命令
记不住名字时,先在心里说一遍「我现在要干什么」,再到下面这张表里找:
| 我想…… | 先用这个 | 类别 |
|---|---|---|
| 开一次新对话 | claude |
启动 |
| 带着问题进入 | claude "问题" |
启动 |
| 接着上次继续 | claude -c |
启动 |
| 从列表里挑一次旧会话 | claude -r,或按编号恢复 |
启动 |
| 换模型 | 启动时用 --model,对话中用 /model |
启动 / 交互 |
| 替换或追加系统提示 | --system-prompt 替换,--append-system-prompt 追加 |
启动 |
| 给项目生成说明文件 | /init |
配置 |
| 查看本次花费 | /cost |
信息 |
| 查看上下文与工作目录 | /status |
信息 |
| 环境出问题 | claude doctor |
信息 |
| 查版本、升级 | claude --version、claude update |
信息 / 配置 |
| 永久调整权限 | /permissions 或设置文件 |
配置 |
| 本次临时放行工具 | --allowedTools |
自动化 |
| 脚本里调用 | claude -p 加输出格式与轮次上限 |
自动化 |
这张表里有两组最容易混的搭配,值得单独说明。
第一组是两种系统提示参数。替换会把内置提示整体换掉,模型可能失去工具使用的约定;追加只是在原有内容后面补一段,风险小得多。除非你在做完全自定义的代理,否则优先用追加。
第二组是临时放行与永久规则。临时参数随进程结束即失效,换个终端或重开会话就要重新带上;写进设置文件的规则对该项目之后的所有启动生效,也更容易被团队共享。排查「昨天还好好的,今天又要确认」时,先看这次是不是换了启动目录或入口。
启动选项在进程启动时解析,之后不再读取,所以改完设置文件要重启才生效;/model 只切换本次会话使用的模型,不会写回配置。新版本增删命令是常事,拿不准时以 claude --help 和 /help 的输出为准。
诊断把环境、登录、外部连接和配置分成若干检查项,先看第一个失败项,后面的错误往往是它的连锁反应;具体检查项随版本变化。查某个子命令的用法时,用 claude <子命令> --help 比翻整页帮助更短,也可以先看命令帮助系统。
一条完整的流水线调用长这样:
claude -p "检查本次改动是否引入明显的安全问题,按文件列出" \
--allowedTools "Read" "Grep" "Bash(git diff:*)" \
--disallowedTools "Edit" "Write" \
--output-format json \
--max-turns 6 > security-review.json
读文件与查看差异被放开,写入被明确禁止,轮次有上限,结果写进文件供下一步读取。先在本地用同一组参数跑一遍,确认它不会执行你意外的操作,再放进流水线。自动化的边界原则见人在回路,每条命令从输入到退出的细节则见命令执行流程。
脚本里最常见的三种失败,也能按类归位:
| 现象 | 为什么 | 怎么办 |
|---|---|---|
脚本里写 /clear 没有反应 |
非交互模式没有对话界面 | 用启动参数表达,或新起一次进程 |
| 昨天放行的工具今天又要确认 | --allowedTools 只对本次启动有效 |
写进权限设置,或每次调用都带上 |
| 输出里混进提示文字,解析失败 | 装饰性输出与结构化结果混在一起 | 选结构化格式,并把两类输出流分开 |
把这三条记住,大部分「命令不听话」的问题当场就能定位。
常见误区
- 在非交互模式里用斜杠命令:没有交互界面,命令不存在,相关设置只能用启动参数表达。
- 把临时放行当成永久授权:下次启动就失效,长期规则要写进权限配置。
- 以为两个配置入口是两套配置:它们读写同一套配置文件,改哪个都一样。
- 靠背命令:记住三个入口就够了,终端里查帮助、对话内查帮助、输入时按 Tab 看补全。
按用途找,比按字母背快得多。命令知道了,接下来要看一条命令从输入到执行经历了什么:命令执行流程。
自测
先自己回答,再展开对照;答不上来就回到对应小节。01按语法形式和按功能用途分类,差别在哪里?看答案
语法形式只告诉你命令长什么样、在哪里输入;功能用途回答的是你现在要做什么。找命令时用后者更快。
02为什么非交互模式下没有斜杠命令可用?看答案
斜杠命令依赖交互界面存在。非交互模式执行一次就退出,没有会话可操作,相关行为只能靠启动参数控制。