Claude Code CLI 参考文档
Claude Code CLI 是一个功能丰富的命令行工具,提供交互式编程协助和自动化脚本支持。核心功能包括:1) 灵活的输入方式,支持管道输入和交互/非交互模式;2) 完善的会话管理,可保存和恢复对话上下文;3) 多样化的输出格式控制(文本/JSON等);4) 模型和权限配置选项。适用于代码审查、调试分析、项目讨论等多种开发场景,并能与现有开发工作流无缝集成。通过环境变量和命令行选项可自定义工具
·
Claude Code CLI 参考文档
概述
Claude Code CLI 是一个强大的命令行工具,提供灵活的交互方式和全面的配置选项,支持交互式编程协助、脚本自动化和会话管理等多种使用场景。
基础命令
启动和查询
| 命令 | 描述 | 示例 |
|---|---|---|
claude |
启动交互式 REPL 界面 | claude |
claude "查询内容" |
启动 REPL 并带有初始提示 | claude "帮我优化这个函数" |
claude -p "查询内容" |
通过 SDK 查询并退出 | claude -p "解释这段代码的功能" |
cat 文件 | claude -p "查询内容" |
处理管道输入内容 | cat app.js | claude -p "找出潜在的bug" |
会话管理
| 命令 | 描述 | 示例 |
|---|---|---|
claude -c |
继续最近的对话 | claude -c |
claude -r "<会话ID>" "查询" |
恢复特定会话 | claude -r "abc123" "继续之前的讨论" |
claude update |
更新到最新版本 | claude update |
claude mcp |
配置模型上下文协议服务器 | claude mcp |
命令行选项
输入输出控制
--print / -p
功能: 输出响应而不进入交互模式
claude -p "分析这个错误日志"
--output-format
功能: 指定响应格式
选项: text, json, stream-json
claude -p "解释代码" --output-format json
--add-dir
功能: 添加额外的工作目录
claude --add-dir /path/to/project "分析项目结构"
模型和权限控制
--model
功能: 为当前会话设置模型
claude --model claude-3-opus "复杂的代码重构任务"
--permission-mode
功能: 在特定权限上下文中启动
claude --permission-mode restricted
--max-turns
功能: 限制代理交互轮数
claude --max-turns 5 "简单的编程问题"
调试和日志
--verbose
功能: 启用详细日志记录
claude --verbose "调试这个网络请求问题"
核心特性
1. 灵活的输入方式
管道输入支持
# 分析文件内容
cat error.log | claude -p "分析这个错误日志"
# 处理命令输出
git log --oneline | claude -p "总结最近的提交"
# 组合多个文件
cat *.js | claude -p "检查代码质量"
交互式和非交互式模式
# 交互式模式 - 持续对话
claude "我需要设计一个API"
# 非交互式模式 - 单次查询
claude -p "这段代码的时间复杂度是多少?"
2. 会话管理
自动会话保存
- 每次交互自动保存会话历史
- 支持会话恢复和继续
- 保持上下文连续性
会话恢复功能
# 继续最近的对话
claude -c
# 恢复特定会话
claude -r "session-id-12345" "基于之前的讨论继续"
3. 高级配置
输出格式控制
# 文本格式(默认)
claude -p "解释算法" --output-format text
# JSON格式(适合脚本处理)
claude -p "生成配置" --output-format json
# 流式JSON(实时输出)
claude -p "长文档分析" --output-format stream-json
权限模式设置
# 受限权限模式
claude --permission-mode restricted
# 标准权限模式
claude --permission-mode standard
# 扩展权限模式
claude --permission-mode extended
使用场景和最佳实践
1. 交互式编程协助
# 启动交互式会话
claude
# 在会话中可以:
# - 讨论代码设计
# - 实时调试问题
# - 迭代优化方案
# - 学习新技术
最佳实践:
- 使用清晰的问题描述
- 提供充足的上下文信息
- 利用会话历史进行深入讨论
2. 脚本和自动化
#!/bin/bash
# 自动化代码审查脚本
for file in *.py; do
echo "审查文件: $file"
cat "$file" | claude -p "审查这个Python文件,提供改进建议" --output-format json
done
最佳实践:
- 使用
-p标志进行非交互式查询 - 选择合适的输出格式便于处理
- 结合shell脚本实现批量处理
3. 上下文对话延续
# 第一次对话
claude "帮我设计一个用户认证系统"
# 稍后继续讨论
claude -c "基于刚才的设计,如何处理密码重置?"
最佳实践:
- 使用
-c快速继续最近对话 - 用
-r恢复特定主题的会话 - 保持对话的逻辑连贯性
4. 详细调试和分析
# 启用详细日志进行问题排查
claude --verbose --add-dir /project/src "分析这个性能问题"
最佳实践:
- 使用
--verbose查看详细执行过程 - 用
--add-dir提供完整项目上下文 - 结合具体错误信息进行分析
高级用法示例
项目分析工作流
# 1. 初始项目分析
claude --add-dir /path/to/project "分析项目架构"
# 2. 特定文件深度分析
cat src/main.js | claude -p "详细分析这个主文件"
# 3. 继续讨论优化方案
claude -c "基于分析结果,提供重构建议"
批量文档处理
# 处理多个配置文件
for config in config/*.yaml; do
cat "$config" | claude -p "验证配置文件格式" --output-format json >> validation_results.json
done
集成开发工作流
# Git提交前的代码审查
git diff --cached | claude -p "审查即将提交的代码变更"
# 测试失败分析
npm test 2>&1 | claude -p "分析测试失败原因"
配置和自定义
环境变量
可通过环境变量自定义默认行为:
export CLAUDE_MODEL="claude-3-sonnet"
export CLAUDE_PERMISSION_MODE="standard"
export CLAUDE_OUTPUT_FORMAT="text"
配置文件
Claude Code 支持配置文件来设置默认选项和偏好设置。
故障排除
常见问题
-
会话恢复失败
# 检查会话列表 claude --list-sessions # 使用详细模式查看错误 claude --verbose -r "session-id" -
权限问题
# 使用受限模式 claude --permission-mode restricted -
输出格式问题
# 明确指定输出格式 claude -p "query" --output-format text
调试技巧
- 使用
--verbose查看详细执行日志 - 检查网络连接和API访问权限
- 验证输入文件的编码和格式
- 使用简单查询测试基本功能
总结
Claude Code CLI 提供了强大而灵活的命令行界面,支持:
- 多种交互模式: 交互式REPL、非交互式查询、管道输入
- 完整会话管理: 自动保存、会话恢复、历史管理
- 灵活配置选项: 模型选择、权限控制、输出格式
- 开发者友好: 详细日志、脚本支持、自动化集成
无论是日常的编程协助、自动化脚本还是复杂的项目分析,Claude Code CLI 都能提供高效的解决方案。通过合理使用各种命令选项和最佳实践,可以显著提升开发效率和代码质量。
更多推荐



所有评论(0)