Claude Code 命令行参数实践指南
前言
很多人第一次打开 Claude Code,只会输入 claude,然后开始聊天。这当然可以,但就像开车只会踩油门一样——你根本没用上方向盘和变速箱。
命令行参数(CLI Flags)就是那些被忽视的"方向盘"。掌握它们,你才算真正开始用 Claude Code。
文章结构
1. 启动模式 — 如何打开 Claude Code
2. 核心参数 — 每天都会用的旗标
3. 提示词控制 — 定制 Claude 的行为
4. 自动化参数 — 脚本和 CI/CD 场景
5. 实战练习 — 5 个可以马上动手的例子
快速参考卡
# === 启动 ===
claude # 交互模式
claude "问题" # 单次问答
claude -p "任务" # 非交互模式
claude -c # 继续最近会话
claude -r <id> # 继续指定会话
# === 模型 ===
claude --model claude-opus-4-5 # 最强
claude --model claude-sonnet-4-6 # 默认均衡
claude --model claude-haiku-4-5-20251001 # 最快最省
# === 提示词 ===
claude --append-system-prompt "规则" # 追加(推荐)
claude --append-system-prompt-file 文件 # 从文件追加(推荐)
claude --system-prompt "规则" # 替换(慎用)
claude --system-prompt-file 文件 # 从文件替换(慎用)
# === 输出 ===
claude -p "任务" --output-format json # JSON 输出
claude -p "任务" --output-format text # 纯文本(默认)
claude --verbose # 显示详细日志
# === 自动化 ===
claude --dangerously-skip-permissions # 跳过确认(仅 CI 用)
claude --add-dir /path # 添加工作目录
第一节:启动模式
Claude Code 有三种主要的启动方式:
| 命令 | 作用 | 场景 |
|---|---|---|
claude |
启动交互模式 | 日常开发对话 |
claude "你的问题" |
单次问答后退出 | 快速查询 |
claude -p "任务" |
非交互 print 模式 | 脚本/自动化 |
继续上次会话
# 继续最近的会话(当前目录)
claude -c
claude --continue
# 继续指定 ID 的会话
claude -r <session-id>
claude --resume <session-id>
第二节:核心参数
模型选择
# 使用 Opus(最强,最贵)
claude --model opus
# 使用 Sonnet(默认,均衡)
claude --model sonnet
# 使用 Haiku(最快,最便宜)
claude --model haiku
什么时候用哪个模型?
| 模型 | 适合场景 |
|---|---|
| Opus | 复杂架构设计、深度推理、困难 Bug 排查 |
| Sonnet | 日常编码、代码审查、一般问题 |
| Haiku | 快速查询、简单格式化、探索性子任务 |
注意:同一个任务,Opus 的费用是 Haiku 的 数倍。合理选择模型能大幅节约成本。
添加工作目录
# 添加额外的工作目录(monorepo 场景非常有用)
claude --add-dir /path/to/another/project
claude --add-dir ../shared-lib
当你的项目跨多个仓库时,这个参数可以让 Claude 同时看到多个目录。
输出格式
# JSON 格式输出(适合脚本解析)
claude -p "列出所有函数名" --output-format json
# 流式 JSON 输出
claude -p "解释这段代码" --output-format stream-json
# 纯文本输出(默认)
claude -p "写一个 hello world" --output-format text
第三节:提示词控制
Claude Code 提供四个控制系统提示词(System Prompt)的参数:
参数总览
| 参数 | 作用 | 推荐程度 |
|---|---|---|
--append-system-prompt |
追加到默认提示词后 | 首选 |
--append-system-prompt-file |
从文件追加 | 首选 |
--system-prompt |
替换整个默认提示词 | 慎用 |
--system-prompt-file |
从文件替换 | 慎用 |
核心原则:优先使用
append(追加)而非替换。追加保留了 Claude Code 的内置能力,替换会把它们全清空。
使用示例
# 追加:要求回答必须用中文
claude --append-system-prompt "请始终用中文回答所有问题。"
# 追加:要求遵循特定编码规范
claude --append-system-prompt "所有 Python 代码必须通过 black 格式化,使用类型注解。"
# 从文件追加(适合长规则)
claude --append-system-prompt-file ./team-coding-standards.md
# 替换(完全控制场景,如 CI 自动化)
claude --system-prompt "你是一个代码审查机器人,只输出 JSON 格式的审查结果,不做任何解释。"
第四节:自动化参数
Print 模式(非交互)
# -p / --print 进入非交互模式,完成任务后退出
claude -p "检查 src/ 目录下的所有 TODO 注释"
# 组合使用:JSON 输出 + 非交互
claude -p "找出所有未使用的变量" --output-format json
跳过权限确认
# 危险!跳过所有权限提示(仅用于受信任的 CI 环境)
claude --dangerously-skip-permissions -p "运行测试并修复失败的用例"
警告:
--dangerously-skip-permissions会允许 Claude 在不询问你的情况下执行任何操作,包括删除文件、运行任意命令。只在完全受控的 CI/CD 环境中使用。
冗长日志
# 显示详细的工具调用日志(调试时很有用)
claude --verbose -p "分析项目结构"
第五节:实战练习
以下 5 个练习可以马上在你的终端动手:
练习 1:用 Haiku 快速查询
# 场景:快速查一个 Python 语法,不需要 Sonnet 的算力
claude --model haiku -p "Python 的 operator := 怎么用,给我一个例子"
预期效果:几秒内得到答案,消耗极少 token。
练习 2:强制中文回答
# 场景:你的团队用中文,但 Claude 默认用英文
claude --append-system-prompt "所有回答必须使用简体中文。"
# 然后在交互模式中问任何问题
预期效果:即使你用英文提问,Claude 也会用中文回答。
练习 3:JSON 输出 + 脚本处理
# 场景:把 Claude 的输出传给 jq 解析
claude -p "列出 src/ 目录下所有 .py 文件的文件名,用 JSON 数组格式" \
--output-format json | jq '.result'
预期效果:得到一个可以被脚本处理的结构化输出。
练习 4:继续上次未完成的任务
# 第一次:开始一个任务
claude "帮我重构 utils.py,我们先分析一下结构"
# (关闭终端,第二天继续)
# 第二次:恢复会话,不需要重新解释
claude -c
# Claude 会记住上次的对话,继续工作
预期效果:跨会话保持上下文,节省大量重新解释的时间。
练习 5:加载团队编码规范
# 第一步:创建规范文件
cat > ./team-coding-rules.md << 'EOF'
## 编码规范
1. 所有函数必须有类型注解
2. 注释语言:中文
3. 每个函数不超过 50 行
4. 优先使用 pathlib 而不是 os.path
EOF
# 第二步:启动时加载规范
claude --append-system-prompt-file ./team-coding-rules.md
# 之后写的所有代码都会遵循这些规范
预期效果:Claude 的所有代码输出都会遵循你定义的团队规范。
下一篇预告
#02 — Claude Code 的 Slash 命令与交互技巧
在交互模式里,有一套强大的 /命令 系统——/compact 压缩上下文、/init 自动生成 CLAUDE.md、/plan 进入规划模式……下一篇我们深入这个世界。
参考文档:Claude Code 官方文档
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐



所有评论(0)