入门

Claude Code 提供两种主要的交互方式:

  • 交互模式:运行 claude 启动 REPL 会话
  • 单次模式:使用 claude -p "查询" 进行快速命令
# 启动交互模式
claude

# 以初始查询启动
claude "解释这个项目"

# 运行单个命令并退出
claude -p "这个函数做什么?"

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

CLI 命令

命令描述示例
claude启动交互式 REPLclaude
claude "查询"以初始提示启动 REPLclaude "解释这个项目"
claude -p "查询"运行一次性查询,然后退出claude -p "解释这个函数"
cat file | claude -p "查询"处理管道内容cat logs.txt | claude -p "解释"
claude -c继续最近的对话claude -c
claude -c -p "查询"在打印模式下继续claude -c -p "检查类型错误"
claude -r "<session-id>" "查询"通过 ID 恢复会话claude -r "abc123" "完成这个 PR"
claude config配置设置claude config set --global theme dark
claude update更新到最新版本claude update
claude mcp配置 Model Context Protocol 服务器查看教程中的 MCP 部分

CLI 标志

使用这些命令行标志自定义 Claude Code 的行为:

标志描述示例
--print, -p在非交互模式下打印响应(参见下方详细打印模式文档claude -p "查询"
--output-format指定打印模式的输出格式(选项:textjsonstream-jsonclaude -p "查询" --output-format json
--verbose启用详细日志记录,显示完整的轮次输出(在打印和交互模式下都有助于调试)claude --verbose
--max-turns限制非交互模式下的代理轮次数claude -p --max-turns 3 "查询"
--permission-prompt-tool指定在非交互模式下处理权限提示的 MCP 工具claude -p --permission-prompt-tool mcp_auth_tool "查询"
--resume通过 ID 恢复特定会话,或在交互模式下选择claude --resume abc123 "查询"
--continue在当前目录加载最近的对话claude --continue
--dangerously-skip-permissions跳过权限提示(谨慎使用)claude --dangerously-skip-permissions

--output-format json 标志对脚本编写和自动化特别有用,允许你以编程方式解析 Claude 的响应。

打印模式详情

-p(或 --print)标志在 Claude Code 中启用非交互模式,允许你对输入和输出进行管道处理以供编程使用。此标志支持各种输出格式以适应不同用例。

基本用法

# 基本打印模式 - 仅输出最终响应文本
claude -p "解释如何使用打印标志"

# 使用标准输入
echo "2+2等于多少?" | claude -p

# 在打印模式下恢复会话并提供提示
claude -p --resume <session-id> "用这个提示恢复会话"

输出格式

--output-format 选项(与 -p 一起使用)支持三种格式:

1. 文本输出(默认)
claude -p "解释输出格式"
# 仅输出响应文本
2. JSON 输出
claude -p --output-format json "解释如何使用 JSON 输出"

输出结构化 JSON 对象:

{
  "cost_usd": 0.003,
  "duration_ms": 1234,
  "duration_api_ms": 800,
  "result": "这里是响应文本...",
  "session_id": "abc123"
}
3. 流式 JSON 输出
claude -p --output-format stream-json "创建一个 Python 脚本"

在流式模式下,每条消息在接收时都作为单独的 JSON 对象输出:

  • 工具使用消息
  • 助手文本消息
  • 工具结果消息
  • 带有统计信息的最终系统消息

打印模式的详细输出

当在 -p 中使用 --verbose 时,必须与 --output-format json--output-format stream-json 配对:

claude -p --verbose --output-format json "调试这段代码"

在详细 JSON 模式下,输出包含完整的对话记录:

[
  {
    "role": "user",
    "content": "调试这段代码"
  },
  {
    "role": "assistant",
    "content": "我来帮你调试这段代码..."
  },
  {
    "role": "system",
    "cost_usd": 0.003,
    "duration_ms": 1234,
    "duration_api_ms": 800,
    "result": "这里是响应文本...",
    "session_id": "abc123"
  }
]

打印模式的其他选项

最大轮次
claude -p --max-turns 3 "修复这段代码" < file.py

限制非交互模式下的代理轮次数。

权限提示工具
claude -p --permission-prompt-tool mcp_auth_tool "创建一个文件"

指定在非交互模式下处理权限提示的 MCP 工具。

恢复会话
claude -p --resume abc123 "用这个提示恢复会话"

在打印模式下通过 ID 恢复特定会话并提供新提示。

继续会话

claude -c -p "继续执行下一个任务"

继续此项目中的最后一次对话。

斜杠命令

在交互式会话期间控制 Claude 的行为:

命令用途
/bug报告错误(将对话发送给 Anthropic)
/clear清除对话历史
/compact [instructions]压缩对话,可选择焦点说明
/config查看/修改配置
/cost显示令牌使用统计
/doctor检查 Claude Code 安装的健康状况
/help获取使用帮助
/init使用 CLAUDE.md 指南初始化项目
/login切换 Anthropic 账户
/logout从 Anthropic 账户登出
/memory编辑 CLAUDE.md 记忆文件
/pr_comments查看拉取请求评论
/review请求代码审查
/status查看账户和系统状态
/terminal-setup安装 Shift+Enter 换行键绑定(仅限 iTerm2 和 VSCode)
/vim进入 vim 模式以切换插入和命令模式

特殊快捷键

使用 # 快速记忆

通过以 # 开始输入来即时添加记忆:

# 始终使用描述性变量名

系统会提示你选择要将其存储在哪个记忆文件中。

终端中的换行

使用以下方式输入多行命令:

  • 快速转义:输入 \ 后按 Enter
  • 键盘快捷键:Option+Enter(或配置后的 Shift+Enter)

在终端中设置 Option+Enter:

对于 Mac Terminal.app:

  1. 打开设置 → 配置文件 → 键盘
  2. 勾选”将 Option 键用作 Meta 键”

对于 iTerm2 和 VSCode 终端:

  1. 打开设置 → 配置文件 → 按键
  2. 在常规设置下,将左/右 Option 键设置为”Esc+”

iTerm2 和 VSCode 用户提示:在 Claude Code 中运行 /terminal-setup 以自动配置 Shift+Enter 作为更直观的替代方案。

有关配置详情,请参见设置中的终端设置

Vim 模式

Claude Code 支持一部分 Vim 键绑定,可以通过 /vim 启用或通过 /config 配置。

支持的功能包括:

  • 模式切换:Esc(到 NORMAL),i/Ia/Ao/O(到 INSERT)
  • 导航:h/j/k/lw/e/b0/$/^gg/G
  • 编辑:xdw/de/db/dd/Dcw/ce/cb/cc/C.(重复)

Was this page helpful?