第十章: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

配置文件加载优先级(从高到低):

  1. 命令行 --config 参数指定的文件
  2. 当前工作目录下的 .claude/settings.json
  3. 全局用户目录下的 ~/.claude/settings.json
  4. 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 文件,输出所有安全问题和性能问题,按严重程度排序"

这条命令会在:

  1. 使用 Opus 模型进行深度分析
  2. 以 JSON 格式输出结构化结果
  3. 隐藏中间过程,只展示最终结论
  4. 适合集成到 CI/CD 流水线或其他自动化工具中

通过灵活组合 CLI 参数、模型选择和输出控制,你可以将 Claude Code 无缝嵌入到任何开发工作流中——无论是交互式开发、自动化流水线,还是批处理任务,都能找到最合适的配置组合。