ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

Claude Code终端命令完全指南:启动、调用、权限与实战技巧

Claude Code终端命令完全指南:启动、调用、权限与实战技巧 用了那么久的 Claude Code我越来越觉得这工具真正拉开体验差距的地方不在模型本身而在终端里那些命令怎么组织、怎么搭配、怎么防呆。上一篇讲完了安装、登录和第一印象这篇专门把“终端命令”这层窗户纸捅破。从最基础的claude怎么启动、-p参数怎么非交互式调用到/add、/read、/context这些斜线命令怎么管理上下文再到环境变量、第三方模型接入、Git 协作、权限边界能一次讲透的都给你铺开。这篇适合两类人一类是刚装完 Claude Code 觉得“无非就是个聊天框”的新手另一类是已经用了几天但总觉得命令很零散、想形成一套稳定工作流的老手。我把踩过的坑和常用的命令模板都放在下面你直接复制到自己的终端里试就行。1. 动手之前先把运行环境捻清楚1.1 三种安装路径总有一种适合你终端命令玩得顺不顺第一步其实是环境。装错了位置后面所有命令都会给你脸色看。最常见的安装方式还是 npm 全局安装npm install -g anthropic-ai/claude-code用 npm 的好处是版本管理直接、升级方便而且和 Node 生态天然融合。装完之后顺手验证两件事node -v claude --versionNode 版本尽量保持在 18 以上太老的版本跑 Claude Code 会出现各种奇怪的ERR_REQUIRE_ESM或 WebSocket 连接错误。如果 npm 报权限错误别急着加sudo建议装一个 nvm 或 fnm 来管理 Node否则后面全局包升级的时候权限问题会反复折腾你。除了 npm官方也提供安装脚本。macOS 和 Linux 上常见的是curl -fsSL https://claude.ai/install.sh | bashWindows 用户建议优先走 npm或者直接用官方安装包。安装脚本这种形式在 Windows 的 PowerShell 里体验一般没必要硬刚。装好之后更新命令也别忘claude update这个命令会自动拉取最新版本。我遇到过几次“明明文档说支持某个参数本地却报 unknown option”的情况多半就是版本太旧。所以遇到怪问题时先跑一遍claude update再看claude --help比满网搜答案靠谱得多。1.2 身份认证登录还是 API Key安装只是第一步真正决定你能不能顺畅跑起来的是身份认证。Claude Code 支持两种主流方式交互式登录账号或者直接用 API Key。交互式登录最简单终端直接敲claude第一次启动会弹出登录链接浏览器里点一下授权就完事。账户的授权信息会缓存在本地之后不用重复登录。如果你更习惯 API Key 的方式可以在启动前设置环境变量export ANTHROPIC_API_KEYsk-ant-xxxxx注意Claude Code 认的是ANTHROPIC_API_KEY不是OPENAI_API_KEY。很多人第一步就栽在这里把 OpenAI 的 key 复制进去然后发现怎么配都不通。我个人的建议是日常交互式开发用登录方式写自动化脚本时用 API Key 方式。因为脚本里没法每次都弹浏览器环境变量反而更可控。至于 API Key 放哪儿建议放进 shell 配置文件里比如.bashrc或.zshrc而不是每次临时 export。1.3 终端环境与 Conda 切换避免“路径风波”Claude Code 最大的特点是能直接执行终端命令所以你的终端环境会直接影响它干活。尤其是 Python 项目里用 Conda 的朋友最容易在这里踩坑。在 VSCode 里打开终端默认进入 base 环境这时候敲conda activate your_env_name终端提示符前面会出现(your_env_name)说明切换成功。但这里有个隐蔽问题Claude Code 本身是 Node 写的它的可执行文件路径大概率在 Node 的全局目录里和你在哪个 Conda 环境没直接关系。真正受影响的是它执行 Python 脚本时用的解释器。我有一个很务实的检查习惯在新的项目里启动 Claude Code 之前先让它自己报一下环境which claude which python which nodeWindows 的 PowerShell 对应用Get-Command claude、Get-Command pythonCMD 里则是where claude。这样做的好处是能提前发现路径是否混乱。比如 Conda 切换到了tf2环境但which python还指向 base 目录那 Claude Code 帮你跑训练脚本时就会用错解释器报一堆 ImportError你排查半天还以为是代码问题。另一个常见场景是你在终端里已经切好了 Conda 环境然后启动 Claude Code它执行conda list或pip install时用的却是另一个环境。不是它笨而是这些命令本身依赖 PATH 和当前激活状态。只要记住“先切环境、再启动 Claude Code、最后让它干活”这个顺序90% 的路径问题都不会遇到。2. 命令主菜Claude Code 的常用终端操作2.1 三种启动姿势交互式、单次执行、管道输入很多人打开 Claude Code就只会在终端里敲claude进入交互式对话。其实它最骚的操作是支持非交互式调用也就是直接把任务通过命令参数传进去不进入 REPL。交互式启动很简单claude进去之后你面对的是一个对话界面可以多轮追问也可以让它持续修改代码。适合探索性任务。单次执行模式用-p参数比如claude -p 解释一下当前目录的代码结构这个模式跑完就退出适合快速问答和脚本调用。更妙的是可以把多个问题作为参数直接传claude -p 分析这个报错 C:\path\to\error.log我实际用得最多的是管道输入。把日志、文件内容、上一个命令的输出直接喂给它cat error.log | claude -p 帮我把这个日志里的关键报错总结一下git diff的结果也能直接甩给它git diff | claude -p 给我这个改动写一个 commit message如果是写自动化脚本建议加上--output-format jsonclaude -p 分析这个项目的技术栈 --output-format json输出变成结构化 JSON后续用 jq 或 Python 处理都方便。我可以拍胸脯说这个姿势才是 Claude Code 作为“终端 AI 代理”的灵魂别把它限制在聊天框里。2.2 会话管理续聊、恢复与压缩交互式会话干到一半你可能想关电脑或者想换个终端重新拉起刚才的对话。这个场景下会话管理命令就是救命稻草。最常用的两招claude --continue继续最近一次会话等价于-c。claude --resume它会列出历史会话让你选择也可以用-r加会话 ID 直接恢复指定会话。会话恢复之后对话上下文还在。这个特性在打断开发节奏时特别有用。比如临时有个紧急 Bug 要处理关掉 Claude Code 后第二天用--continue拉回来它还能记得你上一轮分析到哪了。在交互式会话内部还有几个斜线命令是上下文管理的关键/clear清空当前上下文但保留已经改过的文件。/compact把历史对话压缩成摘要释放上下文空间同时保留关键信息。/rewind回到对话的某个检查点撤销之后的对话和操作。/rewind是我用得最频繁的一个。它解决了一个实际问题Claude Code 长对话跑偏了改错了文件你想回到几分钟前的状态又不想整个会话从头开始。这时候/rewind比手动git checkout多个文件要精准得多。顺带一提--resume能恢复的会话信息存在本地配置文件里比如~/.claude.json。如果你自己写工具去解析会话内容可以留意这个文件。2.3 模型切换与思考等级Claude Code 支持在会话中动态切换模型这个比很多人想象中更灵活。交互式环境下输入/model会弹出模型选择列表你可以切到不同的 Claude 系列模型。有些版本还支持带思考能力的模型标识比如在模型名后面加特定后缀来开启 deeper thinking。具体支持哪些标识以你当前版本的/help输出为准因为不同版本差异很大。如果你走的是非交互式调用也可以在启动时直接指定claude -p 完成这个需求 --model claude-sonnet-4-20250514模型名要写完整不能只写一个sonnet。不确定的时候先跑一遍claude --help看看默认模型标识或者进入交互界面用/status查看当前模型。关于思考等级的调整很多第三方代理和 workflow 配置里能看到low、high、xhigh这样的说法。这些本质上是让模型在推理时花更多 token 去“想”的过程。用过的人都知道简单改写任务用低思考等级速度飞快复杂系统设计或疑难 Bug 定位用高思考等级正确率明显提升。我自己的习惯是默认中等遇到难题再临时切到高等级不要把消耗拉满不然每次请求的时间成本会让你痛不欲生。2.4 斜线命令速查表斜线命令是 Claude Code 交互模式里的“快捷键”平时记不住没关系收藏这张表就好。命令作用常用时机/help查看帮助和参数说明忘记命令、怀疑版本差异时/status查看当前会话模型、上下文用量、工作目录排查性能问题/config打开配置面板调整交互偏好、权限模式等需要改行为习惯时/model切换当前会话模型简单任务换快模型、难题换强模型/permissions查看和调整工具权限经常被权限询问打断时/add把文件或目录加入上下文让 Claude Code 了解项目相关代码/read手动读取指定文件内容上下文里缺少关键文件时/context查看当前上下文使用情况对话太长、担心上下文溢出时/compact压缩历史对话摘要长会话继续不下去时/clear清空当前上下文换一个新任务时/rewind回退到历史检查点改错代码想撤销最近步骤时/init初始化项目生成 CLAUDE.md 等说明文件新项目第一次进 Claude Code/memory查看和管理记忆文件希望它长期记住你项目偏好时/skills列出已安装的 Skills刚装完 Skills 想验证是否生效/mcp管理 MCP 服务器连接需要外部工具服务时/hooks配置事件钩子想在关键事件后自动化执行脚本时/login重新登录或切换账号账号过期、切换身份时/quit退出会话收工走人这里面的核心思想是别把所有任务都堆在一个上下文里硬聊。/add加代码文件、/read读配置、/clear换新任务这些命令组合起来才能让模型每轮都在正确的信息范围内工作。3. 拒绝裸奔终端命令执行权限与安全边界3.1 Claude Code 什么时候会动我的终端Claude Code 被称为“Agent”而不是“聊天机器人”核心原因就是它能主动执行终端命令。但“主动”不等于“失控”前提是你得搞懂它的权限模型。默认情况下Claude Code 要执行Bash命令或修改文件时会先弹权限确认。你可以选择允许单次执行、允许本次会话内自动允许或者直接拒绝。这种交互式确认是安全边界的第一道锁。在用了一些天之后你可能会觉得反复确认太烦。这时可以调整权限模式claude --permission-mode acceptEditsacceptEdits表示自动接受文件编辑但关键 Bash 命令仍要确认。这个模式适合写代码场景因为 Claude Code 大部分操作都是改文件频繁点确认确实影响流畅度。还有更宽松的claude --dangerously-skip-permissions这个参数会跳过所有权限检查。我劝你只在一次性容器、临时虚拟机或跑纯只读分析时用生产环境里开着这个跑项目等于把自己的终端交出去。你永远不知道它会在哪个环节执行一条rm -rf。我自己的实操规矩是默认保持标准确认模式项目跑顺了切到acceptEdits但Bash权限始终保留人工确认。尤其是删除、移动、覆盖文件这类破坏性命令宁可多花两秒看一眼也不要让 AI 帮你拍板。3.2 文件、文件夹与路径的终端操作Claude Code 处理文件有两种路径一种是通过内置的文件读写工具另一种是直接执行终端命令。前者比较安全后者灵活但容易踩坑。最常见的需求是删除文件夹。不同终端平台下的命令差异很大这里整理一份对照Windows CMDrmdir /s /q C:\path\to\folderWindows PowerShellRemove-Item -Recurse -Force C:\path\to\folderLinux / macOS / Git Bashrm -rf /path/to/folder注意路径里有空格时一定要加引号否则命令会被拆成多段轻则报错重则删错目录。Claude Code 自己执行这类命令时通常会带引号但如果你手动给它写 prompt或者让它在自动化脚本里拼命令就要格外小心。我对 Claude Code 有个固定要求删任何东西之前先列目录确认。我会直接这么告诉它“先运行ls -la把要删除的目录内容列给我看确认无误后再执行删除。”这一步虽然多花几秒但能躲开 80% 的误删事故。善用只读命令也能减少风险。要让 Claude Code 分析磁盘占用可以提示找出当前项目下超过 100MB 的文件按大小排序并说明哪些最值得清理。它会自己调用类似find . -type f -size 100M -exec ls -lh {} \;的命令。你只需在权限确认时观察一下它到底执行了什么多核对几次就能建立对它的信任边界。3.3 Git 操作与代码审查场景Claude Code 和 Git 是天生一对但我见过很多人直接让它git push这就有点放飞了。安全做法是先让它做只读分析。比如新改动还没提交时git diff | claude -p 根据这份 diff 生成符合 Conventional Commits 规范的 commit message它返回的 commit message 你还能人工 review 一下再提交。这个流程既有 AI 的效率也有人的判断。项目里有了未提交改动想让它帮你定位问题可以启动交互式会话后问先看 git status 和 git diff总结一下这个分支目前的改动范围以及可能影响到的模块。Claude Code 会自动调用git status、git diff、git log --oneline -10这些命令。你要做的是观察它使用了哪些命令看看是否符合预期。如果它突然要执行git push --force那你要警惕了十有八九是哪儿理解错了。关于分支操作我有一条铁律不让 Claude Code 直接删分支或强推。这些操作历史不可逆而且 AI 对“哪个分支是主分支”“谁在这个分支上协作”没有全局感知。让它在本地改代码、写测试、整理 commit 就够了推送到远端这种动作还是自己来按那个回车比较踏实。3.4 后台任务、日志输出与管道化Claude Code 跑一个长任务比如全项目重构、批量文件改写可能要几分钟甚至更久。终端窗口一关任务就中断了这时需要后台任务管理。Linux / macOS 下可以用 tmuxtmux new -s cc-task claude -p 按项目文档重构 utils 目录下的所有函数按CtrlB再按D脱离会话之后随时用tmux attach -t cc-task回来查看。这个方法在远程服务器上尤其好用。Windows 下Git Bash 环境里同样可以用 tmux或者直接在 PowerShell 里用Start-Process把进程挂后台。终端工具的选择不关键关键是不能让长任务依赖一个随时会被关掉的窗口。日志输出方面我常用管道配合tee把 Claude Code 的输出同时打到屏幕和日志文件claude -p 逐步执行迁移脚本 21 | tee migration.log这样既能实时看到进展又能留底排查。如果用--output-format json最好先把 JSON 存成文件再用 jq 解析方便定位结构化错误。4. 进阶配置环境变量、第三方模型与扩展4.1 环境变量才是真正的“全局开关”Claude Code 的行为很大程度上由环境变量控制。如果你还在每次启动前手动 export那就太亏了。几个常用变量ANTHROPIC_API_KEYAPI Key非交互式调用的必填项。ANTHROPIC_BASE_URLAPI 基础地址接第三方模型时改这个。ANTHROPIC_MODEL默认模型名前置设置后不用每次指定。CLAUDE_CODE_MAX_OUTPUT_TOKENS限制单次输出的最大 token 数。CLAUDE_CODE_DISABLE_NON_ESSENTIAL_TRAFFIC关闭非必要的遥测和流量提升隐私感。设置方式很简单Linux / macOS 写进 shell 配置echo export ANTHROPIC_MODELclaude-sonnet-4-20250514 ~/.zshrc source ~/.zshrcWindows PowerShell 可以用$env:ANTHROPIC_MODEL...设置当前会话变量或者在系统设置里加用户环境变量。环境变量还可以实现“开发版和商版分离”。比如个人电脑默认走官方模型公司项目里用一个.env文件切换 base URL 和 key。我常在项目根目录放一个.env.example里面写清楚需要哪些变量然后在 CI 里用 secret 注入避免把 key 提交到仓库。有一点要提醒环境变量是有优先级的进程级环境变量往往比配置文件里的更优先。如果改了配置文件没生效先排查是不是有旧的环境变量残留。4.2 接入 DeepSeek 等模型的实测配置Claude Code 虽然和 Anthropic 官方模型绑定最紧但它的命令行框架本身是通用的可以接到兼容 Anthropic API 的第三方模型上。网上讨论最多的就是 DeepSeek我也实测过这里给一套可复现的配置。前提是你已经有一个 DeepSeek 的 API Key。然后在启动 Claude Code 之前设置export ANTHROPIC_BASE_URLhttps://api.deepseek.com/anthropic export ANTHROPIC_AUTH_TOKENsk-xxxxx export ANTHROPIC_MODELdeepseek-chat再启动claude理论上它就会走 DeepSeek 的接口跑对话。但注意我的实测感受是DeepSeek 这类第三方模型在简单问答和代码阅读上没问题但工具调用能力和长链路推理不一定比官方模型稳。遇到需要反复执行命令、修改文件、回读结果的 Agent 任务时表现可能有差异。所以我的建议是把第三方模型当作“备选路线”而不是“平替路线”。用来快速问答、日志分析、文档总结很方便但真正要它在项目里大改代码时还是切回官方模型更稳。接入前也一定要查看第三方模型官方文档因为模型名和接口路径会更新。如果看到有人拿着 opencode 之类的外部工具把 Claude Code 桥接到其他模型不要立刻照抄。先看这些桥接工具自己的 README 和版本兼容说明环境变量名稍有不同就会绕很多弯路。4.3 长上下文、Prompt Caching 与记忆Claude Code 支持长上下文模型之后很多人第一反应是“上下文这么大我可以往死里塞代码”。但我劝你冷静上下文越长模型响应越慢费用也越高。上下文管理是一项需要刻意训练的技能。交互式会话里随时可以输入/context查看当前上下文已用量。如果超过安全水位就该考虑/compact压缩一下历史或者用/clear开一个新会话。关于 Prompt Caching圈子里经常有人问ENABLE_PROMPT_CACHING_1H1这类配置有没有用。我的理解是它本质上是让相同的前缀内容在一段时间内命中缓存减少重复计算。在长上下文场景里确实能降低成本、加速响应。但这类环境变量在不同版本、不同网关下的行为不一样我不建议把它当成万能药。最好做法是在官方文档里找到你当前版本支持的缓存配置做一次对照实验再决定要不要常驻开启。模型记忆方面Claude Code 有/memory来管理“长期偏好”。比如你写代码喜欢用单引号、注释风格是什么、测试框架用什么写进记忆之后新会话里它也能延续这些偏好。这个我在系列第一篇里提过终端命令层面你只要记住/memory是可以随时查看和调整的别等着它自己记住主动写更靠谱。4.4 Skills、MCP 和网页搜索扩展Skills 是 Claude Code 的一个扩展机制可以给模型预置某些领域的知识和操作流程。官方有 Skills 仓库也可以用/install从 GitHub 安装第三方 Skills。如果你看到网上有人分享一个 Skill想手动装到本地方法是把 Skill 对应的目录或文件放到~/.claude/skills/下然后重启 Claude Code输入/skills确认是否识别。这里最容易犯的错是目录结构不对或者给文件夹起错了名字。装完不生效九成是路径问题。我自己会先ls ~/.claude/skills/看看里面结构再对照仓库里的 README 调整。MCP 则是让 Claude Code 连接外部工具服务器的标准方式。命令行操作claude mcp add my-server --command npx mcp-server-name claude mcp list也可以交互式用/mcp管理。MCP 的价值在于打通数据库、浏览器、文件系统等外部能力但它会让权限面变大。加一个新 MCP server 时我会先确认它的命令来源和权限范围不随便npx来路不明的包。网页搜索在最新版本里通常内置了相关工具你只需在 prompt 里说明“请联网搜索最新的 API 文档”它就会尝试调用。但如果你把权限模式调得很严格搜索工具可能被拦下来。遇到这种情况检查一下权限设置或者临时放行 WebFetch 相关工具。5. 高频率问题排查与清理指南5.1 命令找不到、安装失败怎么办最容易遇到的报错就是claude: command not found。这种问题九成是环境变量 PATH 没配对。先检查安装是否成功npm list -g anthropic-ai/claude-code如果这里能看到版本说明包装上了只是可执行文件路径不在 PATH 里。npm 全局 bin 目录通常是npm prefix -g下的bin文件夹把它加进 PATH 即可。Windows 的用户则检查一下 npm 全局路径是否在系统环境变量里。另一个常见报错是安装过程中出现EACCES这说明 npm 没有权限写全局目录。解决方案是安装 Node 版本管理器然后重新安装全局包不要靠sudo chmod -R硬改权限。如果升级之后命令行报unknown option老规矩先claude update再查claude --help。版本错位导致的问题占我实际排障的三成以上。5.2 可用性提示与安全下载的基本原则有时候启动 Claude Code 会出现类似“might not be available in your country”的提示。遇到这种情况我给你的建议是冷静对待先查官方文档里支持的地区和产品范围按官方渠道来。如果你的环境确实不在支持范围内最稳妥的做法是找官方正版渠道或企业方案不要为了图方便去下载所谓“破解版”“绿色版”安装包。这些来路不明的二进制文件是安全重灾区。Claude Code 本身有执行终端命令的能力如果安装包被注入恶意代码后果远比你想象中严重。我自己判断一个安装包是否安全只看三条来源是否官方、文件是否经过签名校验、安装脚本是否公开可审查。满足不了这三条宁可不省那几分钟。5.3 进程卡死、端口占用与日志定位Claude Code 跑着跑着卡住不动了终端里 CtrlC 没反应别慌先开一个新终端。Linux / macOS 下用ps找进程ps aux | grep claude kill -9 PIDWindows PowerShell 下tasklist | findstr claude taskkill /PID 1234 /F如果是 MCP server 或本地服务端口被占用可以用lsof -i :8080再按 PID 清理。这一步在调试 Web 项目时特别常见前一个 Claude Code 会话占用了后端端口新会话起服务就报EADDRINUSE。想进一步定位问题在启动时加调试参数claude --debug把输出日志保存下来再去翻本地的.claude目录。很多隐藏的和上下文、权限、会话有关的信息都在这里有迹可循。别小看日志我帮别人排查“对话忽然失忆”的问题时最后十有八九是/compact把关键细节压没了或者.claude.json里的会话文件损坏。5.4 干净卸载与隐私清理要卸载 Claude Code光删 npm 包还不够。先卸包npm uninstall -g anthropic-ai/claude-code再把本地配置目录删干净rm -rf ~/.claude rm -f ~/.claude.jsonWindows 下对应的是用户目录里的.claude文件夹。如果之前登录过账号还可以先在交互式界面执行/logout退出登录再执行上面两步避免留下本地凭据备份。这些本地文件里保存着历史会话和配置信息涉及敏感代码的话处理前要做好评估。清理完之后重新打开一个终端确认claude命令已经不存在了再收工。个人经验里有一句话总结claude -p配管道能解决 60% 的日常问题/add和/rewind能解决 30% 的上下文烦恼剩下 10% 就看你能不能把权限边界管明白了。刚开始接触时别急着上 1M 上下文、xhigh 思考等级那些极限玩法先把这几个命令用熟你的 Claude Code 体验已经能超过大多数人了。
返回列表