跳过正文
Claude Code 教程系列:CLI参考(CLI Reference)
  1. Posts/

Claude Code 教程系列:CLI参考(CLI Reference)

·2092 字·5 分钟
目录

Claude Code命令行界面(CLI)提供了强大的命令行工具,用于自动化、CI/CD集成和高级工作流程。

核心命令
#

主要命令
#

命令用途
claude交互式模式(默认)
claude -p打印模式(非交互)
claude -c继续最近的会话
claude -r "session"按名称或ID恢复会话

标志选项
#

标志描述
--model选择模型
--agent选择代理
--permission-mode权限模式
--effort推理努力级别
--max-turns最大自主轮数
--output-format输出格式
--plugin-dir加载插件目录
--worktree在git worktree中启动

CLI命令结构

图:Claude Code CLI的主要命令和标志选项,展示命令层次结构和配置能力。

会话管理
#

恢复会话
#

# 继续最近的对话
claude -c

# 按名称恢复会话
claude -r "auth-refactor"

# 恢复并分支进行实验
claude --resume auth-refactor --fork-session "替代方法"

重命名和分支
#

# 在REPL内重命名当前会话
/rename auth-refactor

# 分支当前会话
/fork

会话管理流程
#

会话管理的基本流程如下:

flowchart TB
    A["启动Claude Code"] --> B{选择启动方式}
    B -->|claude| C["新建会话"]
    B -->|claude -c| D["继续最近会话"]
    B -->|claude -r 'name'| E["恢复指定会话"]

    C --> F["交互模式"]
    D --> F
    E --> F

    F --> G{会话操作}
    G -->|/rename| H["命名当前会话"]
    G -->|/fork| I["分支会话"]
    G -->|Ctrl+D| J["退出并保存"]
    G -->|继续使用| K["继续对话"]

    H --> K
    I --> K
    J --> L["会话持久化"]

    K -->{用户再次启动?}
    K -->|是| D
    K -->|否| L

    style A fill:#4dabf7,stroke:#1864ab
    style F fill:#69db7c,stroke:#2b8a3e
    style I fill:#ffd43b,stroke:#f08c00
    style L fill:#da77f2,stroke:#862e9c

权限模式
#

可用模式
#

模式标志用途
default--permission-mode default默认:只读文件,提示其他操作
acceptEdits--permission-mode acceptEdits接受编辑:读取和编辑,命令需要提示
plan--permission-mode plan规划模式:只读,规划后实施
auto--permission-mode auto自动模式:带后台安全分类器
bypassPermissions--permission-mode bypassPermissions绕过权限:所有操作无检查
dontAsk--permission-mode dontAsk不询问:仅预先批准的工具执行

切换模式
#

键盘快捷键:

Shift + Tab  # 循环所有权限模式

命令行标志:

claude --permission-mode plan
claude --permission-mode auto

模型选择
#

可用模型
#

模型标志描述
Claude Opus 4.7--model opus最强大,处理复杂任务
Claude Sonnet 4.6--model sonnet平衡性能和成本
Claude Haiku 4.5--model haiku快速,简单任务

模型别名
#

  • opusplan - 使用Opus进行规划,使用Sonnet执行

环境变量
#

# 设置默认模型
export ANTHROPIC_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5

推理努力级别
#

努力级别(Opus 4.7)
#

级别标志描述
low (○)--effort low低推理
medium (◐)--effort medium中等推理
high (●)--effort high高推理
xhigh--effort xhigh超高推理(Opus 4.7默认)
max--effort max最大推理(仅Opus 4.7)

环境变量
#

export CLAUDE_CODE_EFFORT_LEVEL=xhigh   # low, medium, high, xhigh, 或max
export MAX_THINKING_TOKENS=16000

打印模式(非交互)
#

基本用法
#

# 运行特定任务
claude -p "运行所有测试"

# 处理管道内容
cat error.log | claude -p "分析这些错误"

打印模式标志
#

标志描述
--output-format json结构化JSON输出
--max-turns N限制自主轮数
--json-schemaJSON模式验证
--no-session-persistence禁用会话持久化

JSON输出示例
#

claude -p --output-format json "分析代码质量" > analysis.json

插件管理
#

插件命令
#

# 从市场安装
claude plugin install plugin-name

# 卸载插件
claude plugin uninstall plugin-name

# 列出已安装的插件
claude plugin list

# 启用插件
claude plugin enable plugin-name

# 禁用插件
claude plugin disable plugin-name

本地插件测试
#

# 加载本地插件进行测试
claude --plugin-dir ./path/to/plugin
claude --plugin-dir ./plugin-a --plugin-dir ./plugin-b

MCP管理
#

MCP命令
#

# 添加MCP服务器
claude mcp add --transport http github https://api.github.com/mcp

# 添加本地stdio服务器
claude mcp add --transport stdio database -- npx @company/db-server

# 列出所有MCP服务器
claude mcp list

# 获取特定服务器详细信息
claude mcp get github

# 移除MCP服务器
claude mcp remove github

Git Worktrees
#

启动Worktree
#

# 在隔离的worktree中启动Claude Code
claude --worktree
# 或
claude -w

Worktree配置
#

{
  "worktree": {
    "sparsePaths": ["packages/my-package", "shared/"]
  }
}

环境变量
#

API配置
#

# API密钥
export ANTHROPIC_API_KEY=sk-ant-...

# 模型选择
export ANTHROPIC_MODEL=claude-opus-4-7

功能开关
#

# 禁用自动内存
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=true

# 禁用后台任务
export CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=true

# 禁用计划任务
export CLAUDE_CODE_DISABLE_CRON=1

# 禁用提示建议
export CLAUDE_CODE_ENABLE_PROMPT_SUGGESTION=false

MCP配置
#

# 最大MCP输出token
export MAX_MCP_OUTPUT_TOKENS=50000

# 启用工具搜索
export ENABLE_TOOL_SEARCH=true

任务管理
#

# 命名任务目录
export CLAUDE_CODE_TASK_LIST_ID=my-project-tasks

实验性功能
#

# 启用代理团队
export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

管道集成
#

基本管道用法
#

# 将文件内容通过管道传递给Claude
cat file.txt | claude -p "总结这个文件"

# 将命令输出传递给Claude
ls -la | claude -p "分析这个目录结构"

JSON处理
#

# 使用jq处理结构化输出
claude -p --output-format json "分析代码" | jq '.issues[]'

CI/CD集成
#

GitHub Actions示例:

- name: AI代码审查
  run: |
    claude -p --output-format json \
      --max-turns 3 \
      "审查PR的以下方面:代码质量、安全、性能" > review.json

键盘快捷键
#

常用快捷键
#

快捷键功能
Ctrl+C取消当前输入/生成
Ctrl+D退出Claude Code
Ctrl+G在外部编辑器中编辑计划
Ctrl+L清除终端屏幕
Ctrl+O切换详细输出
Ctrl+R反向搜索历史
Ctrl+T切换任务列表
Esc+Esc回溯代码/对话
Shift+Tab切换权限模式
Alt+P切换模型
Alt+T切换扩展思考

调试和诊断
#

启用调试模式
#

claude --debug

详细模式
#

# 使用Ctrl+O启用详细模式查看推理过程
# 或使用标志
claude --verbose

最佳实践
#

CLI使用
#

Do’s ✅

  • 使用打印模式进行自动化
  • 管道集成用于数据处理
  • 使用环境变量进行配置
  • 使用JSON输出进行结构化处理

Don’ts ❌

  • 不要在交互模式下使用不适合的标志
  • 不要忽略错误输出
  • 不要在CI/CD中使用交互式会话

安全性
#

Do’s ✅

  • 使用权限模式控制执行
  • 适当时启用沙箱
  • 安全地管理API密钥
  • 审查自动化命令

Don’ts ❌

  • 不要在配置文件中硬编码密钥
  • 不要在生产中使用绕过权限
  • 不要在敏感环境中启用调试模式

相关资源
#


这是Claude Code 教程系列的第十篇文章,也是本系列的最后一篇文章。感谢阅读!

相关文章

Claude Code 教程系列:内存系统(Memory)

·8139 字·17 分钟
内存系统使Claude能够在多个会话和对话中保持持久化的上下文。与临时上下文窗口不同,内存文件允许你在团队间共享项目标准、存储个人开发偏好、维护特定目录的规则,并将外部文档导入为版本控制的一部分。