一、前言
使用Claude Code已经有一段时间了。最近组里其他同事也开始尝试这个工具,坦白说,之前大家惯用的辅助编程工具——比如Idea或PyCharm里的通义灵码插件——都是图形化界面,突然切换到命令行终端,不少人都感到不太习惯。今天就整理一下最基础、最常用的命令和知识点,希望能帮到刚接触Claude Code的朋友们。
需要提前说明的是,本文后面的内容都基于Claude Code的命令行界面,不涉及图形化或IDE插件版本。
二、安装
以Mac系统为例,只要网络环境没问题,安装Claude Code只需要一行命令:
sudo npm install -g @anthropic-ai/claude-code
执行之前,请先确认电脑上已经安装好了Node.js。如果希望下载速度更快,可以额外加一条命令切换镜像源:
npm config set registry https://registry.npmmirror.com
安装完成后,打开终端输入 claude,看到类似下面的界面,就说明Claude Code已经装好了:
注意,这时候Claude还不能回答问题——大模型的服务能力还没配置。推荐先下载一个叫CC-switch(地址:github.com/farion1231/…)的工具,它可以方便地切换Claude使用的模型。接下来就看自己的情况了:有条件的直接用国外模型,没条件的用国内的智谱、MiniMax、千问等都可以。在CC-switch里填好这些模型的配置信息,Claude Code就能正常工作了。
有一点额外提醒:在PyCharm的终端里使用Claude Code时,按下Esc键没有反应。这个问题的解决方案很简单——在PyCharm里安装Claude Code插件,问题就解决了。
三、开始使用
1、常用Slash Commands(斜杠指令)介绍
从界面里可以看到,在对话框输入 / 会弹出很多内置指令。看起来挺多,但日常反复用到的其实就那么几个。
1.1 /context
查看当前会话的上下文占用情况。对话时间长了,如果感觉Claude开始"记不清"之前说过什么了,输入 /context 看看。如果发现上下文已经满了,就需要先执行 /compact 再继续聊。
1.2 /compact
压缩长对话,给上下文腾出空间。还可以指定保留重点:
/compact focus on the database migration plan
举个例子,你正在重构一个模块,聊了几十个来回,Claude已经开始前后矛盾地给建议了——这时候用 /compact focus on 重构方案 把早期那些无关紧要的讨论清理掉,只保留最终方案。
1.3 /diff
交互式查看代码改动。提交前一定要过一遍。让Claude改了一堆文件,拿不准到底改了哪些地方?输入 /diff 逐个文件看一遍,心里有数了再commit。
1.4 /rewind
回滚到之前的对话点,文件改动也一并还原。你可以把它当成对话和代码的"撤销键"。比如AI改了一堆内容,结果不符合你的预期——与其手动一个个文件还原,不如直接 /rewind 回到修改前的状态。
1.5 /btw
顺便问个问题,不会打断当前对话的上下文流。比如你正在讨论数据库表设计,突然想确认一个Java的知识点——用 /btw 插一句,问完立马回到主线。
1.6 /export
把完整对话导出来,存成文件或复制到剪贴板都可以:
/export auth-refactor-v2.md
讨论出一个不错的架构方案后,想连决策过程一起导出来,可以考虑使用这个命令。
1.7 /memory
查看和管理Claude记下来的关于你的偏好设置。比如你发现它老用英文回复你,但你想用中文——/memory 看一下有没有"用中文回复"这条记忆,没有的话新建一条。
这些记忆本质上是一个Markdown文件,存储在 ~/.claude/projects/ 目录的memory文件夹下。需要注意的是,关闭Claude Code终端再重新打开后,因为是一次新会话,它可能会忘记之前聊过的内容。所以如果有重要的对话信息需要记住,可以主动告诉Claude,这样它会自动把关键信息形成记忆并持久化到文件里。
1.8 其他
还有一些斜杠指令也可能会用上,具体可以参考下表:
| 斜杠命令名称 | 作用 |
|---|---|
| /simplify | 检查代码质量,适合提交代码时使用 |
| /batch | 批量处理改动,比如给所有公开函数加注释 |
| /exit | 退出Claude Code |
| /doctor | 诊断并验证Claude Code的安装和设置 |
另外,这些斜杠命令都是可以自定义的。在 .claude/commands/ 目录下,你可以编写自己的命令文件——它本质上是一个有格式要求的Markdown文件。具体写法大家可以搜索一下相关资料,我目前还没用到自定义命令的需求。
2、Claude memory 和 CLAUDE.md
Claude有两套持久化机制:Memory和CLAUDE.md,两者互补。先说CLAUDE.md这个文件。
CLAUDE.md需要你主动编写,分为三个层级:
| 文件位置 | 作用范围 |
|---|---|
| ~/.claude/CLAUDE.md | 所有项目,适合写入个人偏好 |
| <项目>/CLAUDE.md | 所有项目,适合写入个人偏好 |
| <项目>/某目录/CLAUDE.md | 只在这个目录下生效 |
层级越具体,优先级越高:子目录 > 项目 > 全局。在项目目录下执行 /init 可以自动生成这个文件,当然自己手动写也完全没问题。
Memory则不同,它是Claude在对话中自动记下来的碎片信息——比如你纠正过它什么、你喜欢什么工作方式等等。保存在 ~/.claude/projects/ 目录下,用 /memory 命令管理。
简单区分就是:CLAUDE.md是你主动写的"章程",Memory是Claude自己记的"便签"。这两个东西每次启动时都会自动加载,不需要额外操心。
3、重点!使用Claude Code编码怎么做团队约束?
要开一个新项目,想让团队用起来体验统一一些,推荐在项目根目录下放这几个文件:
项目根目录/
├── CLAUDE.md # 技术栈、构建命令、代码规范
└── .claude/
└── settings.json # 项目级配置和钩子
CLAUDE.md的内容示例:
# 项目上下文
## 技术栈
- 前端:React + TypeScript
- 后端:Java
## 构建命令
- 开发:`npm run dev`
- 构建:`npm run build`
## 代码规范
- 使用中文注释
- 不要使用 emoji
还可以选择性添加以下目录结构:
.claude/
├── rules/ # 目录级规则,进到这个路径才触发
├── skills/ # 自定义斜杠命令
└── CLAUDE.md # 子目录级指令
如果每个开发者有自己的偏好设置,还可以继续添加:
CLAUDE.local.md # 个人偏好
.claude/settings.local.json # 个人设置
这两个记得加进 .gitignore 里。团队成员clone下来后,Claude Code会自动读取这些文件,不需要额外配置。
这里用两张图做个总结(图片来源自一篇博客文章),这两张图详细介绍了项目实践中如何管理和定义.claude文件夹的内容,可以协助整个团队提升效率并统一规范:
4、! 和 @ 符号
对话里输入 ! 加命令,就可以在当前项目目录下执行:
!ls -la
命令的输出会回到对话里,Claude能看到并基于结果继续分析。跑耗时很长的命令时可以按 Ctrl+B 放后台,用 Ctrl+X Ctrl+K 终止所有后台任务。
日常最常用的操作:
!curl [https://localhost:3000/health](https://localhost:3000/health`)
关键在于:使用 ! 可以保证命令执行的输出结果会进入大模型的上下文里——这正是它与在普通Shell中直接执行命令的重要区别。
另一个重要的符号是 @,用来直接引用目标文件。比如:
@markdown-note/ 统计下这个文件夹下有多少个 md 文件
5、Skills 和 MCP
5.1 SKILL
Skill是当下比较热的一个概念。简单说一下怎么在Claude中配置和使用。
首先,可以用斜杠指令 /skills 查看当前启用了哪些Skill。Skill的启用有两种方式:一是直接输入对应的斜杠指令,二是在和大模型对话过程中,大模型自动选择合适的Skill进行调用。
Skill并不高深,自己完全可以写一个适用的。写之前要考虑这个Skill是每个项目都能用,还是只适用于当前项目——这会决定你把Skill文件夹放在哪里。假设你做一个只适用于当前项目的Skill,首先在.claude目录下建一个文件夹,比如搞一个onboard Skill,让新参与项目开发的人快速上手:
mkdir -p .claude/skills/onboard
然后编写一个SKILL.md文件,它需要包含name和description两部分元数据。Skill在大模型加载时不会把所有提示词都加载进去,只加载前面的metadata部分:
---
"name": "onboard",
"description": "Help new team members get up to speed with the project"
---
你是一个项目引导员。请按以下步骤帮助新成员熟悉项目:
1. 读取 CLAUDE.md 和项目 README,介绍项目定位和技术栈
2. 运行 `ls -la` 和关键目录结构,解释项目组织方式
3. 展示最近的 3 个 commit 和对应的 PR,说明当前开发重点
4. 指出代码中容易让人困惑的"历史遗留"部分(如果 CLAUDE.md 有记录)
重新启动Claude,然后就可以使用这个Skill了:
/onboard
社区也有现成的Skill可以拿来用,clone到 .claude/skills/ 目录下即可。具体创建步骤可以参考官方文档:code.claude.com/docs/zh-CN/…
当然,更直接的方法就是用自然语言和Claude Code沟通,让它把之前的交互内容或指定数据直接沉淀为Skill。
日常使用中比较推荐 playwright-cli 工具,通过它可以直接让Claude Code在控制台使用浏览器访问指定网页并总结内容。
5.2 MCP
MCP(Model Context Protocol)让Claude能直接调用外部服务——GitHub Issues、数据库、地图API等等。常用的MCP管理命令:
claude mcp list # 看看连了哪些
claude mcp get # 查看某个的具体详情
claude mcp remove # 移除
/mcp # 进入Claude Code后,在对话里看活动连接
比如要添加高德MCP服务,只需要打开.claude文件夹中的settings.json文件,添加以下内容(API-Key需要去高德开放平台申请):
"mcpServers": {
"amap-maps-streamableHTTP": {
"url": "https://mcp.amap.com/mcp?key=${AMAP_KEY}"
}
}
然后直接在控制台提问,就会发现过程中已经使用了高德的地理编码接口。
需要注意,目前市面上的MCP服务大多是第三方提供的,安全方面要格外上心:
- 凭证用环境变量存,别硬编码在代码里
- 数据库查询用只读权限
- 遵循最小权限原则,能少给就少给——毕竟有的MCP服务是第三方的,存在安全风险
目前的MCP服务只推荐Http和Stdio两种类型,不推荐SSE。另外个人觉得,AI的趋势正在逐步走向大量使用CLI工具,而不是MCP——因为MCP会占用大量上下文。
6、Hooks、Plugin、Agents
前面讲的内容已经能覆盖大部分日常场景了,这一节介绍一些稍微进阶的内容。
6.1 Hooks
Hook绑定在特定事件上,事件发生时自动执行脚本,无需手动触发。配置在 .claude/settings.json 里:
{
"hooks": {
"PreCompact": [
{
"type": "command",
"command": "git diff --stat"
}
],
"Notification": [
{
"type": "command",
"command": "echo '对话已结束' | growlnotify"
}
]
}
}
几个常用的Hook类型:
| Hook 类型 | 触发时机 | 典型用途 |
|---|---|---|
| PreCompact | 压缩上下文之前 | 保存关键信息、导出当前改动 |
| PostToolUse | 使用某个工具之后 | |
| Notification | 对话结束时 | 发送通知提醒 |
| PreStop | Claude Code 退出之前 | 清理临时文件、保存状态 |
6.2 Plugin
Plugin给Claude添加原本没有的工具或数据源。最常见的形式就是前面讲过的MCP Server,但也有其他方式。用一句话总结:Plugin是Skills、MCP、Agents、Hooks的集合体。
你可以自己开发Plugin,详情参考官方文档:code.claude.com/docs/zh-CN/…。我自己目前还没有实际开发过插件。
要安装Claude Code的官方插件,可以用以下命令:
/plugin install github@claude-plugins-official
然后输入 /plugin 就可以查找插件了。
6.3 Agents
Agents(也叫subAgents)的意思是让多个Agent并行行动,每个Agent都有自己的上下文窗口。在Claude终端输入 /agents 可以查看当前有哪些Agent可用。
同样可以自己创建Agent。根据使用范围不同,可以在 {project}/.claude/agents/ 或 ~/.claude/agents/ 下创建,主要就是一个固定格式的Markdown文件:
---
name: researcher
memory: user
description: Long-running research assistant with persistent notes
tools: Read,Write,Bash,Grep
model: sonnet
permissionMode: inherit
skills: pdf
---
You are a research assistant. ……
上面的metadata部分是给大模型读取的。使用时也很简单:
claude --agents researcher "研究一下 xxx"
四、总结
Claude Code与传统辅助编程工具最大的区别在于:它不是一个"插件"或"建议面板",而是一个具备完整开发循环能力的AI开发助手——能读代码、能跑命令、能直接改文件。掌握它不需要死记硬背所有命令,关键是要理解几个核心机制。
对于刚开始接触Claude Code的同学,建议先从最基础的斜杠指令和文件引用开始用起,跑通"提问→执行→验证→提交"的完整开发循环后,再逐步探索进阶玩法。说到底,工具只是手段,真正能提升效率的,是AI与开发者之间逐步建立起来的默契。
```