
Claude Code CLI 不只是一个对话工具,它是你的瑞士军刀。本文覆盖所有核心命令、标志位(flags)的实际用法,以及 7 个真实工作流场景。学完能把它融入你的日常开发、CI/CD、和自动化脚本。
先搞懂架构
CLI 是 Claude Code 的核心入口,理解它的架构能帮你选对模式:
scss
用户终端 → Claude Code CLI → API → 输出
↓
┌────────┼────────┐
↓ ↓ ↓
交互模式 打印模式 会话恢复
(REPL) (单次查询) (继续对话)
三种运行模式:
| 模式 | 命令 | 特点 |
|---|---|---|
| 交互模式 | claude |
多轮对话、Tab 补全、历史记录、Slash Commands |
| 打印模式 | claude -p "query" |
单次查询、脚本化、管道输入 |
| 会话恢复 | claude -c 或 -r <name> |
继续之前的对话 |
选错了模式,你可能会在脚本里等一个交互提示------别问我怎么知道的。
核心命令速查
bash
# 交互模式
claude # 启动
claude "解释这个项目" # 启动并带初始提示
# 打印模式
claude -p "查询" # 单次查询后退出
cat file.log | claude -p "分析这个" # 管道输入
# 会话管理
claude -c # 继续上一个对话
claude -r "feature-auth" "继续实现" # 恢复指定会话
claude --from-pr 42 # 恢复关联某 PR 的会话
# 工具
claude update # 更新版本
claude mcp # 管理 MCP 服务器
claude mcp serve # 把 Claude 作为 MCP 服务器运行
claude agents # 列出所有子代理
claude auth login # 登录(支持 --sso)
标志位分类解析
模型选择
bash
# 直接指定模型
claude --model opus "复杂任务" # Opus 4.6,最强推理
claude --model sonnet "实现功能" # 平衡速度和能力
claude --model haiku -p "格式化JSON" # 快速任务
# 带备用模型(防止过载)
claude -p --model opus --fallback-model sonnet "分析架构"
# Opus 专属:思考努力程度
claude --effort high "架构评审"
# 可选值:low、medium、high、max
| 模型 | 上下文 | 适合场景 |
|---|---|---|
| Opus 4.6 | 1M tokens | 复杂分析、架构设计 |
| Sonnet 4.6 | 1M tokens | 日常开发 |
| Haiku 4.5 | 1M tokens | 简单格式化、快速查询 |
权限控制
这是 Claude Code 最实用的部分之一,熟练后能大幅减少交互提示:
bash
# 只读模式 - 安全审计
claude --permission-mode plan --tools "Read,Grep,Glob" "审计安全漏洞"
# 限制可用工具
claude --tools "Read,Grep,Glob" -p "找所有 TODO"
# 白名单特定命令(不提示直接执行)
claude --allowedTools "Bash(git status:*)" "Bash(git log:*)" "继续"
# 黑名单危险操作
claude --disallowedTools "Bash(rm:*)" "Bash(git push --force:*)" "清理项目"
# 完全跳过权限检查(CI 环境谨慎使用)
claude --dangerously-skip-permissions "自动化任务"
权限模式选项:
| 模式 | 行为 |
|---|---|
plan |
只读,不执行任何操作 |
auto |
自动批准安全操作(需 --enable-auto-mode) |
ask |
每次都询问(默认) |
输出格式
bash
# 纯文本(默认)
claude -p "解释这段代码"
# JSON - 便于程序处理
claude -p --output-format json "列出所有函数"
# 流式 JSON - 实时处理长输出
claude -p --output-format stream-json "生成报告"
# 带 Schema 验证的 JSON
claude -p --json-schema '{
"type": "object",
"properties": {
"bugs": {"type": "array"}
}
}' "找 bug"
结合 jq 使用:
bash
# 提取特定字段
claude -p --output-format json "分析代码" | jq '.result'
# 过滤高严重性问题
claude -p --output-format json "列出安全问题" | jq -r '.issues[] | select(.severity=="high")'
# 条件判断
claude -p --output-format json "检查安全性" | jq 'if .secure then "SAFE" else "UNSAFE" end'
系统提示词
bash
# 完全替换默认提示
claude --system-prompt "你是安全专家,专注于漏洞检测" "审计代码"
# 追加到默认提示(推荐)
claude --append-system-prompt "始终包含单元测试" "实现登录功能"
# 从文件加载(仅打印模式)
claude -p --system-prompt-file ./prompts/reviewer.txt "审查 PR"
会话管理
bash
# 继续上一个会话
claude -c
# 恢复指定会话
claude -r "auth-refactor" "继续实现"
# 分叉会话 - 尝试另一种方案不丢失原对话
claude --resume auth-refactor --fork-session "试试 OAuth 方案"
# 指定会话 ID(UUID)
claude --session-id "550e8400-..." "继续"
工作目录
bash
# 添加额外工作目录
claude --add-dir ../frontend ../backend "跨项目分析"
# 加载自定义设置
claude --settings ./config.json "复杂任务"
# 最小化模式(跳过所有 hooks、skills、插件)
claude --bare "快速查询"
实战案例
1. CI/CD 自动化代码审查
GitHub Actions 配置:
yaml
name: AI Code Review
on: [pull_request]
jobs:
review:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Claude Code
run: npm install -g @anthropic-ai/claude-code
- name: Run Review
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
claude -p --output-format json \
--max-turns 1 \
"审查此 PR 的安全漏洞、性能问题、代码质量,输出 JSON 格式的 issues 数组" \
> review.json
关键标志位组合:
--max-turns 1限制执行轮次--output-format json结构化输出便于后续处理- 配合 Actions 的 secrets 管理 API Key
2. 日志分析自动化
bash
# 实时分析错误日志
tail -1000 /var/log/app/error.log | claude -p "总结错误并建议修复方案"
# 发现可疑访问模式
cat access.log | claude -p "识别异常访问模式"
# Git 活动摘要
git log --oneline -50 | claude -p "总结近期开发活动"
管道模式让 CLI 成为日志处理管道的一环。
3. 批量代码处理
bash
# 批量生成测试
for module in $(ls src/modules/); do
claude -p "为 src/modules/$module 生成单元测试" > "tests/$module.test.ts"
done
# 批量代码审查
find src -name "*.py" -exec sh -c '
echo "## $1" >> review.md
cat "$1" | claude -p "简短代码审查" >> review.md
' _ {} \;
# 项目全面分析
for file in src/*.ts; do
echo "=== $file ===" >> analysis.md
claude -p --model haiku "总结此文件功能" >> analysis.md
done
haiku 模型速度快、成本低,适合批量处理简单任务。
4. 多会话并行开发
bash
# 开启功能分支会话
claude -n "feature-auth" "实现用户认证功能"
# 在另一个终端继续其他功能
claude -n "feature-payments" "集成 Stripe 支付"
# 需要对比方案时,分叉会话
claude --resume feature-auth --fork-session "尝试 OAuth 方案"
# 随时切换
claude -r "feature-auth" "添加密码重置"
5. 安全审计工作流
bash
# 只读模式审计
claude --permission-mode plan \
--tools "Read,Grep,Glob" \
"全面审计此代码库的安全漏洞"
# 禁止危险命令
claude --disallowedTools "Bash(rm:*)" "Bash(curl:*)" "Bash(wget:*)" \
"清理并整理代码"
# 限制 Token 消耗
claude -p --max-budget-usd 2.00 "查找硬编码密钥"
6. 管道集成 JSON API
bash
# 获取结构化分析结果
RESULT=$(claude -p --output-format json "返回 {secure: boolean, issues: []}" < code.py)
# 判断是否安全
if echo "$RESULT" | jq -e '.secure == false' > /dev/null; then
echo "发现安全问题:"
echo "$RESULT" | jq '.issues[]'
fi
7. 自定义子代理配置
bash
# 定义临时代理
claude --agents '{
"security-auditor": {
"description": "安全审计专家",
"prompt": "你是一个安全专家,专注于发现漏洞和提出修复建议。",
"model": "opus"
}
}' "审计 auth 模块"
保存为配置文件 ~/.claude/agents.json 后可以长期使用。
常见问题排查
| 问题 | 原因 | 解决方案 |
|---|---|---|
command not found |
未安装或 PATH 问题 | npm install -g @anthropic-ai/claude-code |
| 认证失败 | API Key 无效 | export ANTHROPIC_API_KEY=your-key |
| 会话找不到 | 会话过期或名称错误 | claude -c 继续最近会话 |
| JSON 输出格式错乱 | 没用 --output-format json |
明确指定输出格式 |
| 权限一直弹窗 | 工具被限制 | 检查 --allowedTools 配置 |
环境变量速查
需要持久化配置时用到:
bash
export ANTHROPIC_API_KEY=sk-... # 认证
export ANTHROPIC_MODEL=opus # 默认模型
export MAX_THINKING_TOKENS=20000 # 扩展思考预算
export CLAUDE_CODE_EFFORT_LEVEL=high # 思考努力度
export CLAUDE_CODE_SIMPLE=1 # 最小化模式(同 --bare)
export CLAUDE_CODE_DISABLE_AUTO_MEMORY=1 # 禁用自动 CLAUDE.md 更新
标志位组合速查表
| 场景 | 命令 |
|---|---|
| 快速单次查询 | claude -p "问题" |
| 管道处理 | `cat file |
| 限制执行轮次 | claude -p --max-turns 3 "任务" |
| JSON 输出 | claude -p --output-format json "查询" |
| 安全审计 | claude --permission-mode plan --tools "Read,Grep" |
| 限制预算 | claude -p --max-budget-usd 2.00 "任务" |
| 多目录协作 | claude --add-dir ../lib "分析" |
| 自定义模型 | claude --model opus --effort high "复杂任务" |
延伸阅读
- 官方 CLI 文档 - 最权威的参考
- Headless Mode - 无人值守自动化执行
学完这一课,CLI 应该成为你日常工具箱的一部分了。下一步试试把这些命令融入你的 shell 脚本或 CI/CD pipeline,有问题随时交流。