← 全部极客知识库

主流 Agent 入门教程 / Claude Code

20. 附录1-CLI命令与参数速查

原文备份 · 第 22 / 28 篇 · 查看极客时间原知识库 ↗

本篇目录 · 15 节

来源:Claude Code

核对日期:2026-09-30
核对环境:Claude Code 2.1.281
用法:先按目的找入口,再运行本机帮助确认。此表服务于本课程,不替代完整参数手册。

Claude Code 更新很快。遇到本附录与本机不同,以以下命令和当前官方文档为准:

以下为参数模板,执行前先将尖括号占位符替换为实际值:

claude --version
claude --help
claude <子命令> --help

尖括号表示必须替换的占位符,例如 <session-id>;方括号只在命令说明中表示可选项,不要原样输入。

一、安装、健康与认证

目的 命令 结果或注意点
查看版本 claude --version 先记录版本再排查参数差异
查看顶层帮助 claude --help 当前机器可用项的第一证据
只读健康检查 claude doctor 不启动会话;读取当前目录设置,可信目录内运行
原生安装版更新 claude update 包管理器安装要用对应包管理器更新
登录 Anthropic claude auth login 按终端提示选择支持的认证方式
查看认证状态 claude auth status --text 不输出密钥;适合排查凭据来源
JSON 认证状态 claude auth status --json 适合脚本读取
退出登录 claude auth logout 只在确实要切换身份时使用

claude doctor 是只读诊断;交互会话中的 /doctor 能提出修复,并在你确认后应用。安装与认证的完整流程分别见第 2 篇和第 3 篇。

二、启动与恢复会话

目的 命令 结果或注意点
在当前目录启动 claude 进入交互会话
带初始任务启动 claude "解释这个项目的入口和测试命令" 第一条消息直接发送
继续当前目录最近会话 claude --continue 或 claude -c 继续最近可恢复会话
打开会话选择器 claude --resume 交互选择历史会话
恢复指定会话 claude --resume <session-id> ID 可从历史或后台列表获得
恢复时另建会话 ID claude --resume <session-id> --fork-session 保留原会话分支
指定模型 claude --model sonnet 可用模型以 /model 和账号权限为准
指定推理强度 claude --effort high 可用级别取决于模型
增加可访问目录 claude --add-dir ../shared 不等于自动加载该目录所有配置
指定权限模式 claude --permission-mode plan 可用值见下一节
在隔离 worktree 启动 claude --worktree mealcraft-fix 仅适用于 Git 仓库;先理解分支与未提交改动

会话恢复不会证明磁盘状态正确。接手长任务后先运行 git status --short、测试和项目验收脚本。完整流程见第 10 篇。

三、权限模式与工具边界

1. 权限模式

以下为参数模板,执行前先将尖括号占位符替换为实际值:

claude --permission-mode <mode>
mode 适合场景 关键边界
manual 日常学习和逐项批准 是 default 的别名;UI 显示 Manual
acceptEdits 信任当前编辑范围,仍审查其他风险动作 不是无条件批准 Bash
plan 只调查和规划 不应修改项目源文件
auto 让自动模式分类器判断动作 仍受设置、策略和 Sandbox 约束
dontAsk 无人值守时自动拒绝本来需要询问的动作 原本允许的读取或预批准动作仍可执行
bypassPermissions 仅限外部强隔离环境 跳过权限提示;不是 Sandbox

不要把 --dangerously-skip-permissions 写进 Shell 别名、课程默认命令或普通自动化。它等价于 --permission-mode bypassPermissions。

2. 三个容易混淆的工具参数

参数 实际作用 不会做什么
--tools "Read,Grep,Glob" 限制 Claude 可见的内置工具 不限制 MCP 工具
--allowedTools "Read" "Bash(git diff *)" 让匹配调用免审批 不是工具白名单,不会移除其他工具
--disallowedTools "Edit" "mcp__*" 裸工具名可移除工具;带范围的规则拒绝匹配调用 不能替代操作系统级隔离

常用组合:

# 纯文本推理:移除全部内置工具,并拒绝 MCP 工具
claude -p \
  --tools "" \
  --disallowedTools "mcp__*" \
  --permission-mode dontAsk \
  --permission-prompts none \
  "把输入归类为 bug、feature 或 question"

# 只暴露读取类内置工具;MCP 仍单独拒绝
claude -p \
  --tools "Read,Grep,Glob" \
  --disallowedTools "mcp__*" \
  --permission-mode dontAsk \
  --permission-prompts none \
  "只读检查当前项目入口"

--tools "" 是否实现真正的“无工具”还取决于 MCP 是否存在,因此课程示例同时拒绝 mcp__*。权限规则、OS Sandbox 和恢复策略见第 8 篇。

四、Safe、Restricted 与 Bare

模式 主要用途 配置与认证 工具与安全边界
claude --safe-mode 排查自定义配置 关闭 CLAUDE.md、Skills、普通插件、Hooks、MCP、Agents 等;正常认证仍可用;托管策略仍可生效 内置工具和正常权限仍在,不是只读模式
claude --restricted 共享机器上的评测或受控运行 忽略用户、项目、本地 settings,只保留托管策略和显式 --settings 移除执行代码/命令的工具和 WebFetch,限制文件工具范围,拒绝 bypass;若也不要 MCP,加 --strict-mcp-config
claude --bare 追求最小启动面和脚本性能 跳过常规自定义项、钥匙串和订阅 OAuth;官方 Anthropic API 需 ANTHROPIC_API_KEY 或显式 apiKeyHelper Bash、读写文件工具仍在;不是只读、安全或 Sandbox 模式

关键判断:

  • 自定义配置疑似损坏:先用 --safe-mode;
  • 受控评测:考虑 --restricted,再显式收紧工具和 MCP;
  • 极简 API 脚本:才考虑 --bare,并自行设计权限与工具边界。

Bare Mode 的完整更正和自动化样例见第 14 篇。

五、后台会话

目的 命令 结果或注意点
后台启动 Claude 会话 claude --background "运行测试并修复失败" 立即返回短 ID;不能与 -p 同用
查看 Agent 视图 claude agents 需要交互终端
JSON 列出活跃会话 claude agents --json 适合脚本和排障
连已完成会话也列出 claude agents --json --all 包含已完成后台会话
查看最近输出 claude logs <session-id> 只读查看终端输出
接管会话 claude attach <session-id> 附着后可交互;离开不等于停止
停止会话 claude stop <session-id> 保留对话,之后仍可 attach

claude rm <session-id> 会移除后台项,并在安全时清理其 worktree,属于可能丢失工作区状态的清理命令;本速查表不把它列为常规步骤。先检查提交、未推送提交和未跟踪文件,再按命令给出的明确提示处理。

六、claude -p 非交互模式

1. 输入与输出

目的 命令或参数
一次性执行 claude -p "<任务>"
从 stdin 读取 `printf '%s\n' '<输入>'
纯文本输出 --output-format text
单个 JSON 结果 --output-format json
流式事件 --output-format stream-json --verbose
约束业务结构 --json-schema '<JSON-Schema>'
限制 Agentic turns --max-turns <正整数>
限制估算 API 花费 --max-budget-usd <金额>
不保存会话 --no-session-persistence

--output-format json 只固定 Claude Code 的外壳;要固定业务字段,必须配合 --json-schema,并读取 structured_output。Schema 只验证形状,不验证内容是否符合真实项目。

2. 一个完整的结构化样例

macOS、Linux 或 WSL2:

claude -p \
  --tools "" \
  --disallowedTools "mcp__*" \
  --permission-mode dontAsk \
  --permission-prompts none \
  --output-format json \
  --json-schema '{"type":"object","properties":{"category":{"enum":["bug","feature","question"]}},"required":["category"],"additionalProperties":false}' \
  --max-turns 1 \
  --max-budget-usd 0.20 \
  "只输出分类:搜索结果会显示旧请求。"

Windows PowerShell 需改用适合 PowerShell 的换行与引号;可直接复制第 14 篇的跨平台脚本,不要把 Bash 续行符照搬过去。

自动化至少同时检查 stdout、stderr 和退出码。参数、Schema 或认证失败都可能非零退出;不要只搜索输出中的“成功”。

七、MCP

先看当前子命令:

claude mcp --help
目的 命令
列出并健康检查 claude mcp list
查看单个服务与审批状态 claude mcp get <name>
添加 HTTP 服务 claude mcp add --transport http --scope local <name> <url>
添加本地 stdio 服务 claude mcp add --transport stdio --scope local <name> -- <command> [args...]
登录远程服务 claude mcp login <name>
清除该服务 OAuth claude mcp logout <name>
移除配置 claude mcp remove --scope local <name>

local 是当前项目的个人配置;要把服务器写入可共享的项目 .mcp.json,明确改用 --scope project 并先审查命令、URL、环境变量和凭据。项目服务器还需要一次信任审批。可运行的只读 MCP 练习见第 12 篇。

八、插件与自定义 Agent

插件

目的 命令
查看帮助 claude plugin --help
列出已安装插件 claude plugin list
查看组件和上下文成本 claude plugin details <name>
严格验证本地插件 claude plugin validate <plugin-path> --strict
仅当前会话加载 claude --plugin-dir <plugin-path>
暂停已安装插件 claude plugin disable <name>
重新启用 claude plugin enable <name>

validate 只证明结构符合规范,不证明插件安全。插件可携带 Hooks、MCP、Skills 和 Agents,只加载已审查的代码。

自定义 Agent

目的 命令或位置
项目 Agent .claude/agents/<name>.md
用户 Agent ~/.claude/agents/<name>.md
当前会话选择 Agent claude --agent <name>
临时传入 Agent 定义 claude --agents '<JSON>'
严格校验 Agent 目录 claude plugin validate .claude/agents --strict
检查重复定义等问题 claude doctor

当前 plugin validate 也能检查目录中的 Skills、Agents 和 Commands,但结构通过不代表工具范围合理。当前 /agents 不再是旧版创建向导。完整实操见第 13 篇。

九、快速选择

你现在要做什么 先用哪个入口
正常交互开发 claude,默认保持 Manual
只调查、不改代码 claude --permission-mode plan
配置疑似导致异常 claude --safe-mode
恢复最近任务 claude --continue,随后检查磁盘证据
让长任务在后台继续 claude --background "<任务>"
无人值守结构化任务 claude -p + 工具限制 + dontAsk + --permission-prompts none + Schema
共享机器上的受控评测 claude --restricted,再显式处理 MCP 和允许工具
最小 API 启动面 claude --bare,但不要把它当安全模式

若命令报 unknown option,不要寻找“差不多”的危险替代项。先运行 claude --version 和相应 --help,再对照第 18 篇排查手册。

官方入口: