Claude Code CLI 命令
Claude Code CLI 的价值在于它既能交互使用,也能脚本化使用,还能和 shell 管道组合。应把命令当成工作流组件,而不是一次性提示词。
- 最近核验
- 适用版本
- 适用于 Claude Code 2.1.x。本机使用 2.1.198 检查 CLI 拼写;当前官方文档可能包含更新的 2.1.x 行为。
- 核验方式
- 2026-07-19 对照官方文档、CLI reference 和 changelog。本机检查顶层、auth 和 MCP help。示例 print 请求会消耗账户/API 用量,本次审查未执行该模型请求。
可复现实践
把一次性仓库盘点变成可机器校验的输出
用 print mode 提出有边界的只读问题,限制工具,保存响应并校验传输格式。
准备
- 可信仓库和有效认证。
- 本机有 jq 或其他 JSON parser。
- 理解 print mode 可能产生用量,且跳过交互式 workspace trust 对话框。
执行步骤
确认本机版本支持的 flags
本机 help 是拼写和可选值的直接证据。
步骤 1 claude --version claude --help执行只读盘点
提示词要求来源,tools 和 plan mode 限制执行面。
步骤 2 claude -p "List build and test commands with the file that defines each one." \ --permission-mode plan \ --allowedTools "Read" "Grep" "Bash(git status --short)" \ --output-format json > /tmp/claude-inventory.json校验输出封装
可解析响应只证明 CLI transport,不证明每条模型结论正确。
步骤 3 jq -e . /tmp/claude-inventory.json >/dev/null到仓库文件核对引用命令
使用盘点结果前,打开引用的 package、构建或 CI 文件,逐项核对拼写。
预期结果
命令退出并写入有效 JSON,盘点结果带来源且能回到仓库文件核对。
验证
- 要求退出码为 0 且 JSON 有效。
- 每个报告命令都与其引用文件核对。
- 不把模型文字当作命令执行成功证明。
失败处理
出现权限提示或拒绝
收窄或修正 allowed tool pattern,不要直接切换 bypassPermissions。
JSON 无效或为空
检查退出码、stderr、认证以及本机版本是否支持 output-format。
清理或回退
- 审查后删除临时 JSON。
- 如命令意外修改文件,停止并先检查 git status。
边界与不适用场景
- print mode 适合有边界自动化,不适合需要多轮澄清的任务。
- allowed tools 会自动批准匹配工具;如需彻底移除其他工具,应使用 --tools。
交互式和一次性用法
使用 `claude` 在当前项目启动交互式会话;已经明确任务时,可带初始请求启动;需要把结果交给脚本或自动化流程时,可使用 print 模式。
继续和恢复会话
认证和状态检查
认证命令可在任务开始前确认当前环境是否能使用 Claude Code。团队写 onboarding 文档或排查清单时,这一步能减少误判。
管道和自动化
可以把日志、diff、文件列表或命令输出通过管道交给 Claude Code,用于总结失败、初步审查变更文件或生成给人工审查的解释。
cat build.log | claude -p "Summarize the first actionable error and likely fix."claude -c -p "Check for type errors in the files changed on this branch."常用 CLI 命令
这些命令覆盖日常开发:启动会话、恢复工作、检查认证、更新 CLI,以及运行后台代理。
| Command | Description |
|---|---|
claude | 在当前目录启动交互式会话。 |
claude "query" | 带初始提示词启动交互模式。 |
claude -p "query" | 一次性查询并退出,适合脚本。 |
claude -c | 继续当前目录最近一次会话。 |
claude -r "name" "query" | 按名称或 ID 恢复会话并追加提示。 |
claude auth status --text | 检查当前环境是否已认证。 |
claude update | 更新 Claude Code 到最新版本。 |
claude --bg "task" | 启动后台会话并释放终端。 |
自动化常用 flags
通过 flags 可以调整权限、模型、工作目录和输出行为,而无需修改项目文件。
CLI 与 Slash commands
CLI flags 用于启动和脚本化会话;Slash commands 控制已在运行的会话。日常工作中通常两者配合使用。