第十章:CLI 参考与高级控制
全部 CLI 命令参考
Claude Code 的命令行界面提供了丰富的参数和选项,让你能够精细控制其行为。以下是完整的 CLI 命令参考:
# 基础启动命令
claude # 启动交互式会话
claude "请解释这个项目" # 启动并直接提问(非交互模式)
claude -p "列出所有 API 路由" # 与 -p 等效的简洁模式
# 常用参数
claude --model claude-sonnet-4-20250514 # 指定模型
claude --config /path/to/config.json # 使用自定义配置文件
claude --verbose # 详细输出模式
claude --json # JSON 格式输出
claude --silent # 静默模式(仅输出结果)
# 工作目录管理
claude --cwd /path/to/project # 指定工作目录
claude --allow-write # 自动放行文件写入操作
# 会话管理
claude --resume # 恢复上一次会话
claude --forget # 强制启用紧凑模式
# 帮助与信息
claude --help # 查看完整帮助
claude --version # 查看版本信息
Fast 模式 vs Plan 模式 vs 普通模式
Claude Code 提供了三种工作模式,分别适用于不同场景:
| 模式 | 触发方式 | 特点 | 适用场景 |
|---|---|---|---|
| 普通模式 | 默认 | 平衡响应速度和质量,默认思考时间 | 日常开发任务 |
| Fast 模式 | --fast 或对话中开启 | 优先响应速度,减少思考步骤,更直接的回答 | 简单查询、快速修改、文件搜索 |
| Plan 模式 | /plan 命令 | 优先思考深度,生成详细计划后再执行 | 复杂架构设计、大规模重构规划 |
Fast 模式:当你需要快速答案或简单修改时,使用 Fast 模式可以显著减少等待时间。Claude Code 会跳过耗时的深度分析,直接给出最直接的回答。适用场景包括查询文件内容、简单代码补全、快速问题排查等。
Plan 模式:处理复杂任务时,Plan 模式会让 Claude Code 先制定详细的实施方案,在你确认后再开始执行。这种方式避免了 "先做再改" 的低效循环,特别适合架构设计、API 设计、数据库迁移规划等需要深思熟虑的任务。
开启 Plan 模式的示例:
/plan "将单体应用拆分为微服务架构,请先分析现有模块依赖关系,
然后给出拆分方案、服务边界划分建议,以及迁移步骤时间表"
Claude Code 会先输出一份详细的计划文档,包含分析结果、方案对比和风险评估,你确认后再开始实施。
模型切换
Claude Code 支持在不同的 Claude 模型之间切换,以适应不同的任务需求和成本预算:
# 启动时指定模型
claude --model claude-sonnet-4-20250514
claude --model claude-opus-4-20250514
# 在对话过程中可以随时切换模型
claude
> /model claude-sonnet-4-20250514 # 切换到 Sonnet(更快)
> /model claude-opus-4-20250514 # 切换到 Opus(更强)
模型选择策略:
| 任务类型 | 推荐模型 | 理由 |
|---|---|---|
| 简单代码补全、问答 | Sonnet | 速度快,成本低 |
| 代码审查、复杂重构 | Opus | 推理能力强,结果更准确 |
| 架构设计、技术方案 | Opus | 深度思考,考虑更全面 |
| 日常调试、问题排查 | Sonnet | 响应快,够用 |
| 批量处理大量文件 | Sonnet | 性价比最优 |
输出控制
Claude Code 提供了多种输出控制方式,满足不同场景的需求:
JSON 输出
# 以 JSON 格式输出,适合程序化处理
claude --json -p "列出 src/ 下所有组件"
输出示例:
{
"response": "在 src/ 目录下找到以下组件:...",
"tools": [
{ "name": "Bash", "result": "..." },
{ "name": "Read", "result": "..." }
]
}
静默模式
在静默模式下,Claude Code 只输出最终结果,不显示中间思考过程和工具调用细节:
claude --silent "运行测试并报告结果"
Verbose 模式
与静默模式相反,Verbose 模式会输出更详细的调试信息,包括模型思考过程、工具调用参数等。适合调试复杂的提示词或排查异常行为:
claude --verbose "解释这个配置文件的含义"
配置文件覆盖
通过 --config 参数,你可以为每次 Claude Code 调用指定不同的配置文件,实现灵活的环境隔离:
# 使用项目特定配置
claude --config /path/to/project/.claude/settings.json
# 使用个人工作流配置
claude --config ~/.claude/settings.work.json
# 使用团队共享配置
claude --config /team/shared/claude-settings.json
配置文件加载优先级(从高到低):
- 命令行
--config参数指定的文件 - 当前工作目录下的
.claude/settings.json - 全局用户目录下的
~/.claude/settings.json - Claude Code 内置的默认配置
这意味着你可以通过 --config 覆盖任何层次的配置,实现完全自定义的行为。
环境变量完整列表
Claude Code 支持通过环境变量进行精细控制,以下是完整的变量列表:
# 必需认证变量
export ANTHROPIC_API_KEY="sk-ant-..." # API 密钥(必需)
# 模型与行为控制
export CLAUDE_MODEL="claude-sonnet-4-20250514" # 默认模型
export CLAUDE_FAST_MODE="true" # 默认启用 Fast 模式
export CLAUDE_MAX_TOKENS="4096" # 最大输出 Token 数
# 网络与代理
export HTTP_PROXY="http://proxy:8080" # HTTP 代理
export HTTPS_PROXY="https://proxy:8080" # HTTPS 代理
export NO_PROXY="localhost,127.0.0.1" # 不走代理的地址
# 调试与日志
export CLAUDE_DEBUG="true" # 调试模式
export CLAUDE_LOG_FILE="/tmp/claude.log" # 日志文件路径
export CLAUDE_LOG_LEVEL="debug" # 日志级别
# 安全与权限
export CLAUDE_ALLOW_WRITE="true" # 自动允许文件写入
export CLAUDE_SANDBOX="strict" # 沙箱级别(strict/none)
# 会话与缓存
export CLAUDE_SESSION_DIR="/tmp/claude-sessions" # 会话存储目录
export CLAUDE_CACHE_DIR="/tmp/claude-cache" # 缓存目录
综合实战:一条命令完成多步骤任务
结合以上 CLI 控制能力,你可以构建出一行命令完成复杂任务的工作流:
# 在非交互模式下,使用 Opus 模型以 JSON 格式输出代码审查结果
claude --model claude-opus-4-20250514 --json --silent \
-p "审查 src/api/routes.ts 文件,输出所有安全问题和性能问题,按严重程度排序"
这条命令会在:
- 使用 Opus 模型进行深度分析
- 以 JSON 格式输出结构化结果
- 隐藏中间过程,只展示最终结论
- 适合集成到 CI/CD 流水线或其他自动化工具中
通过灵活组合 CLI 参数、模型选择和输出控制,你可以将 Claude Code 无缝嵌入到任何开发工作流中——无论是交互式开发、自动化流水线,还是批处理任务,都能找到最合适的配置组合。