CLI 使用和控制
学习如何从命令行使用 Claude Code,包括 CLI 命令、标志和斜杠命令。
入门
Claude Code 提供两种主要的交互方式:
- 交互模式:运行
claude
启动 REPL 会话 - 单次模式:使用
claude -p "查询"
进行快速命令
CLI 命令
命令 | 描述 | 示例 |
---|---|---|
claude | 启动交互式 REPL | claude |
claude "查询" | 以初始提示启动 REPL | claude "解释这个项目" |
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 | 指定打印模式的输出格式(选项:text 、json 、stream-json ) | claude -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 中启用非交互模式,允许你对输入和输出进行管道处理以供编程使用。此标志支持各种输出格式以适应不同用例。
基本用法
输出格式
--output-format
选项(与 -p
一起使用)支持三种格式:
1. 文本输出(默认)
2. JSON 输出
输出结构化 JSON 对象:
3. 流式 JSON 输出
在流式模式下,每条消息在接收时都作为单独的 JSON 对象输出:
- 工具使用消息
- 助手文本消息
- 工具结果消息
- 带有统计信息的最终系统消息
打印模式的详细输出
当在 -p
中使用 --verbose
时,必须与 --output-format json
或 --output-format stream-json
配对:
在详细 JSON 模式下,输出包含完整的对话记录:
打印模式的其他选项
最大轮次
限制非交互模式下的代理轮次数。
权限提示工具
指定在非交互模式下处理权限提示的 MCP 工具。
恢复会话
在打印模式下通过 ID 恢复特定会话并提供新提示。
继续会话
继续此项目中的最后一次对话。
斜杠命令
在交互式会话期间控制 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:
- 打开设置 → 配置文件 → 键盘
- 勾选”将 Option 键用作 Meta 键”
对于 iTerm2 和 VSCode 终端:
- 打开设置 → 配置文件 → 按键
- 在常规设置下,将左/右 Option 键设置为”Esc+”
iTerm2 和 VSCode 用户提示:在 Claude Code 中运行 /terminal-setup
以自动配置 Shift+Enter 作为更直观的替代方案。
有关配置详情,请参见设置中的终端设置。
Vim 模式
Claude Code 支持一部分 Vim 键绑定,可以通过 /vim
启用或通过 /config
配置。
支持的功能包括:
- 模式切换:
Esc
(到 NORMAL),i
/I
,a
/A
,o
/O
(到 INSERT) - 导航:
h
/j
/k
/l
,w
/e
/b
,0
/$
/^
,gg
/G
- 编辑:
x
,dw
/de
/db
/dd
/D
,cw
/ce
/cb
/cc
/C
,.
(重复)