
我自己是从2025年初开始认真用 Claude Code 的起因很简单网页版聊天窗口里把代码贴来贴去太折腾了项目一大上下文根本喂不动。后来我把工作流挪到了终端里用 Claude Code 的 CLI 直接在项目目录里跑对话、改文件、执行命令这才体会到什么叫“AI 编程助手”。如果你也是天天泡在终端里的开发者这篇文章应该能帮你少走不少弯路。这篇教程会覆盖 Claude Code 的完整使用流程包括环境准备、安装登录、终端里的高频操作、核心参数、配置文件的玩法以及我实际踩过坑之后整理出来的问题排查清单。内容偏实操步骤可以直接照着抄但也尽量讲清楚每一步背后的原因这样你遇到新问题时不至于只会背命令。1. Claude Code 到底是什么为什么值得用终端跑1.1 它和网页版有什么本质区别Claude Code 是 Anthropic 推出的终端编程工具本质上是把 Claude 模型的能力直接接到你的本地开发环境里。它和网页版聊天最大的区别在于它能读你磁盘上的文件、能修改代码、能执行终端命令甚至能替你跑测试、处理 git 操作。说得夸张一点网页版的 Claude 像一个只能隔着玻璃看代码的顾问而 Claude Code 是一个坐在你工位旁边的结对工程师你只要给它权限它就能动手改。这个“动手能力”才是 CLI 形态的关键。很多人第一次用 Claude Code 时会问不就是个终端里的 ChatGPT 吗还真不是。因为它生在终端里所以天然和你的项目文件、shell 环境、版本管理工具是打通的。比如你可以在对话里直接说“帮我看一下 src 目录下哪个文件最有可能导致内存泄漏”它会自己去遍历文件、读代码、给出分析而不是让你手动把代码一段段粘进对话框。我自己最常用的一个场景是跨文件重构。以前改一个接口调用要在好几个文件里手动同步修改知道 Claude Code 能自动做之后我直接把需求描述清楚它会把涉及的文件全部列出来逐个修改最后我只要 review diff 就行。这种体验在网页版里是做不到的因为网页端根本没有你项目的上下文和文件系统访问权。1.2 适合谁不适合谁先说说适合谁。如果你日常工作离不开终端比如后端开发、前端工程化、DevOps、脚本维护、数据处理Claude Code 上手会非常快。它对“命令行为主”的工作流极其友好所有对话、文件修改、命令执行都发生在同一个窗口里不需要反复切换应用。要是不太熟悉终端操作、平时主要用 IDE 的图形界面点按钮那你可能需要先在 IDE 的插件市场里找 Claude Code 的集成方案或者花一点时间熟悉基本的命令行操作。不是说你不能用而是终端的裸 CLI 体验对新手不那么友好。但这篇文章后面也会讲一些和 VSCode 配合的技巧能帮你过渡一下。一句话总结Claude Code 适合那些愿意打开终端、不怕读报错信息、想真正把 AI 嵌入工程流程的人。如果你只是偶尔让 AI 帮你写一小段代码那网页版可能更省事但如果你想让它参与完整项目CLI 几乎是必须的选择。2. 环境准备与 Claude Code 安装全过程2.1 安装前的环境检查安装 Claude Code 之前建议先确认几项基础环境不然装到一半容易卡住。首先是操作系统。Claude Code 官方支持 macOS 和 LinuxWindows 用户可以通过 WSL 来运行这个方案在社区里已经比较成熟。我自己主要在 macOS 和 Linux 服务器上用Windows 下用 WSL 也实测过只要网络和 Node 环境没问题体验差别不大。其次是 Node.js。Claude Code 的安装包是通过 npm 分发的所以需要 Node.js 运行时官方要求是版本 18 以上。安装之前先检查一下node -v npm -v如果 node 版本太老建议先通过 nvm 升级到 LTS 版本。这里有一个很容易踩的坑直接用系统自带的 node 有时权限很混乱尤其是 macOS 上很多人的 node 是以前通过 pkg 安装包装的全局 npm 包安装时经常报 EACCES 权限错误。我自己后来统一改成 nvm 管理 node全局安装工具就没再遇到过权限问题这个后面在常见问题里也会展开讲。最后是网络和账号。安装本身需要能访问 npm registry首次登录还需要访问 Anthropic 的授权页面所以网络环境要能连通这些服务。账号方面你至少需要一个 Claude 账号或者准备好 API Key。如果你用的是 Claude 的订阅服务CLI 会走订阅额度如果用 API就按 token 计费各有利弊。2.2 安装命令与登录流程环境检查没问题之后安装其实就一条命令npm install -g anthropic-ai/claude-code安装过程中会下载一些依赖看到类似added 300 packages的输出基本就是装好了。装完验证一下版本claude --version能输出版本号说明核心程序已经装好。接下来在任意项目目录下输入claude启动首次登录claude第一次启动会要求你登录终端里会弹出一个授权链接用浏览器打开之后选择或确认你的 Claude 账号授权完成后回到终端就可以直接开始对话。这个过程只需要做一次之后 Claude Code 会把登录态保存在本地配置里不需要每次重复授权。如果你用的是 API 方式也可以不登录直接配置环境变量export ANTHROPIC_API_KEY你的key设置好之后启动claude它就会通过 API 来请求模型。两种方式我都在用订阅登录适合日常交互式使用响应速度快、额度比较稳定API 方式更适合写脚本批量调用方便控制预算和统计用量。2.3 更新、卸载与版本管理Claude Code 更新频率不算低官方几乎每周都会发新版本。想升级到最新版直接再执行一次全局安装命令npm install -g anthropic-ai/claude-codelatest或者用自带的版本检查命令。如果你发现某天 Claude Code 行为异常比如某些权限提示变了、参数不支持了先检查一下是不是版本太旧更新到最新版通常能解决大部分兼容性问题。卸载也简单一条命令的事npm uninstall -g anthropic-ai/claude-code卸载之后本地配置和会话历史不会自动删除通常存在~/.claude目录下。如果你确定以后不再使用可以手动清理这个目录但如果你只是暂时不用留着反而有好处下次装回来登录态和配置都还在。3. 终端里的核心操作入门3.1 从零开始的第一轮对话环境搞定之后实际使用的第一步是进入项目目录然后执行claude启动cd ~/workspace/your-project claude启动后终端会进入一个交互式界面最底部有一个输入框你可以直接输入自然语言指令。这里强烈建议第一句话不要把意图说得太宏大的比如“帮我优化整个项目”模型会不知道该从哪里入手。最好的方式是拆小任务比如“帮我看看 src/utils/format.ts 里的时间格式化函数是否有边界情况没处理好如果有问题直接修复”。第一次使用时Claude Code 会让你确认一些权限比如允许读取文件、允许执行某些命令。如果项目目录是空的它会提示当前目录没有发现项目文件并询问是否要新建。这个阶段你的目标就是完成一轮简单对话比如问它“当前目录下有哪些文件”验证它能正确读取项目结构再把任务慢慢扩大。3.2 会话内高频操作用了一段时间之后我总结的常用操作其实就集中在几个斜杠命令上。/help可以查看所有可用命令遇到不熟悉的场景先看一眼不用死记。/model可以在不同模型之间切换如果你有对应权限可以在性能较强的模型和响应更快的轻量模型之间切换日常小改动用轻量模型更划算。/compact是上下文压缩对话太长把记忆撑爆的时候用它把过去的内容精简一下能够继续深度工作下去而不丢失关键信息。/clear是清空当前会话上下文当换了一个任务方向的时候我通常会先清掉免得旧话题干扰新问题。/cost可以查看当前会话的 token 消耗估算API 模式下这个功能很好用能帮助你及时发现哪个任务特别吃 token。/status可以查看当前会话的权限状态、文件读写情况排查权限问题时经常会用到。这些命令不用一次全记住建议刚开始只记/compact和/clear因为在长任务里这两个使用频率最高。3.3 常用 CLI 参数除了交互式界面Claude Code 还支持非交互式调用也就是说你可以把它当作一个命令行工具直接传参执行。这个能力在做脚本化、自动化的时候非常好用。最基本的非交互用法claude -p 写一个 Python 函数读取当前目录下的 csv 文件并返回平均值-p或--print参数表示非交互模式执行完直接打印结果不会进入对话界面。管道用法也支持比如把文件内容丢给它处理cat README.md | claude -p 帮我润色这段文档修正错别字如果之前开过会话还可以用--continue或--resume恢复对话。--continue继续最近一次会话适合中断之后重新接上--resume后面跟会话 ID 可以恢复指定会话适合同时进行多个任务线。会话列表可以通过claude --resume加 Tab 键查看。我实际用得最多的场景是让它帮我 review git 改动git diff | claude -p 帮我 review 这段 diff指出潜在风险和可以优化的地方这个流程配合快捷键非常流畅先改代码再 git diff管道给 Claude Code它给出意见我再继续改。基本替代了过去“写完代码自我怀疑→代码审查工具报一堆问题”的循环。4. 配置文件与个性化设置4.1 通过 claude config 管理配置Claude Code 的配置是通过claude config命令来管理的。你可以用它查看当前配置项、设置全局配置或项目级配置常见用法是claude config set -g theme dark-g表示全局配置不加的话只对当前项目生效。配置项包括主题、权限模式、编辑器偏好等。实际使用时我习惯把主题设为 dark因为终端背景本来就是深色这样界面看起来统一一些。权限相关的配置也在这里调比如你可以把某些高频命令加入自动允许列表减少交互时的确认次数。如果需要更细粒度的配置可以直接编辑配置文件。全局配置通常在~/.claude.json或~/.claude/settings.json项目级配置则放在当前项目的.claude/settings.json。4.2 CLAUDE.md项目专属记忆CLAUDE.md 是 Claude Code 非常核心的一个文件相当于项目的“说明书”和“规则书”。你可以把它放在项目根目录里面写清项目简介、技术栈、目录结构、编码规范、常用命令甚至可以写“遇到测试失败时不要盲目改代码先分析日志再动手”这类工作准则。Claude Code 每次启动时会自动读取这个文件作为对话的长期上下文。这样你不需要在每轮对话里重复说明项目背景它自己就知道这是什么项目、该遵守什么规范。我自己的项目里一定会维护一份 CLAUDE.md内容包括项目是做什么的、技术栈有哪些、构建命令是什么、代码风格有什么要求、有哪些禁忌。比如之前维护一个老项目里面有大量上古代码我就在 CLAUDE.md 里明确写了“不要随意把回调函数改成 async/await除非你能确认调用处的兼容性”结果 Claude Code 在处理相关代码时就特别谨慎不会再自作主张做大规模重构。4.3 Skills 与辅助工具的接入Claude Code 支持 Skills 机制简单理解就是给模型注入额外的技能包。你可以在.claude/skills目录下添加 skill每个 skill 就是一个描述性文件告诉模型“当遇到某类问题时可以参考这份操作指南”。对于重复性很高的任务场景比如“代码 review 流程”“部署前检查清单”写成 skill 之后就不用每次都重新解释。除了 SkillsClaude Code 还支持通过 MCPModel Context Protocol接入外部工具比如数据库查询、浏览器操作、第三方 API。如果你有比较特殊的工作流可以通过 MCP 把内部工具暴露给 Claude Code让它在对话里直接调用。我实际帮团队接过一个测试平台通过 MCP 让 Claude Code 可以直接运行指定的测试用例并读取结果省去了大量复制粘贴的步骤。5. 真实使用中的常见问题与排查5.1 安装失败与权限问题安装阶段最常见的报错是 npm 权限问题表现形式通常是Error: EACCES: permission denied, access /usr/local/lib/node_modules这个问题的根因是当前用户对 npm 全局目录没有写权限。很多教程会建议直接加sudo但我不建议这么做因为它会把全局安装的包统统变成 root 所有后续维护很麻烦。更优雅的解决方案是用 nvm 管理 node这样全局目录就在用户主目录下不需要额外的写权限。具体做法是先安装 nvm再重新安装 node之后全局安装的包都会落在~/.nvm/versions/node/.../lib/node_modules不会再报权限错误。另外在 WSL 环境里偶尔会遇到claude命令找不到的问题即使 npm 显示安装成功。这种情况通常是 npm 全局 bin 目录没有加入 PATH。可以通过npm bin -g查看全局 bin 路径再把它加到~/.bashrc的 PATH 里即可解决。5.2 权限控制与安全性问题Claude Code 的能力很强但“能改文件、能执行命令”也意味着如果不加控制风险不小。我用它的一个基础原则是在陌生或重要项目里先不让它自动执行命令每次执行前都要确认。CLI 里有一个权限设置方式启动时或者通过命令可以调整权限模式。当你对 Claude Code 的信任度还不够时可以开启更严格的确认模式每次执行 bash 命令、修改文件都会先在终端里弹出确认提示。等你在一个项目里摸熟了它的行为模式再放宽成自动允许。另外一个安全建议是不要把敏感信息写进 CLAUDE.md。我见过有人在里面写数据库密码或者 API Key因为 Claude Code 在对话中可能会引用这个文件的内容一旦日志外泄或者被第三方工具读取等于把密钥直接交了出去。正确的做法是用环境变量管理敏感信息CLAUDE.md 只写项目层面的描述和规范。5.3 会话管理与上下文优化用到后段最常见的问题是上下文太长导致模型响应变慢、甚至答非所问。Claude Code 有自动压缩机制但触发条件不总是符合你的直觉。我的经验是当感觉模型开始“忘事”或者回答开始泛泛而谈时手动执行/compact主动压缩比等它自动处理效果稳定得多。对于多任务并行的情况最好用--resume配合不同会话来做隔离。比如一个会话专门处理 bug 修复另一个会话专门做代码重构不要混在一起。因为混在一个会话里旧任务的上下文会对新任务的判断产生干扰尤其是模型可能试图沿用之前修改过的变量命名风格或函数结构这是我实际遇到过的情况。还有一个容易忽略的点非交互模式的 token 消耗其实比交互模式更不可控。claude -p执行一次性任务时模型需要重新加载项目上下文如果你的项目文件很多、CLAUDE.md 特别长每次执行都会支付一次性的上下文成本。所以批量管道任务尽量合并成一两次执行而不是在循环里反复调用。最后再分享一个小技巧。如果你发现 Claude Code 某个行为不符合预期先不要急着开新会话重来。用/cost看一下这轮对话的 token 消耗再用/status检查当前生效的权限和上下文来源很多时候问题出在 CLAUDE.md 里的某条规则和你的需求冲突。把那条规则改掉比不断重新描述更有效。毕竟Claude Code 真正的威力不在于你给它一个多完美的提示词而在于你愿不愿意花时间把项目的“上下文”和“规则”沉淀成一份它能持续读取的文档。把这个环节做好了你会发现终端里的 AI 助手从“偶尔能帮上忙”变成了“真正离不开的效率工具”。