Claude code从基础到精通

作者:Administrator 发布时间: 2026-04-06 阅读量:2

基础安装和更新

安装

curl -fsSL https://claude.ai/install.sh | bash       #linux安装
irm https://claude.ai/install.ps1 | iex              #winodows安装
curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd  #winodws安装

#npm安装,因为官方命令需要代理
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
node -v
npm -v
npm install -g @anthropic-ai/claude-code
claude --version

版本更新

claude -version
claude update

修改配置文件

# Stpe1: 编辑或创建 Claude Code 的配置文件
# MacOS & Linux 为 `~/.claude/settings.json`
# Windows 为`用户目录/.claude/settings.json`
# `MINIMAX_API_KEY` 需替换为您的 MiniMax API Key
# 环境变量 `ANTHROPIC_AUTH_TOKEN` 和 `ANTHROPIC_BASE_URL` 优先级高于配置文件
{
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.minimaxi.com/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "MINIMAX_API_KEY",
    "API_TIMEOUT_MS": "3000000",
    "CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1,
    "ANTHROPIC_MODEL": "MiniMax-M2.7",
    "ANTHROPIC_SMALL_FAST_MODEL": "MiniMax-M2.7",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "MiniMax-M2.7",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "MiniMax-M2.7",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "MiniMax-M2.7"
  }
}
# Step2: 编辑或新增 `.claude.json` 文件
# MacOS & Linux 为 `~/.claude.json`
# Windows 为`用户目录/.claude.json`
# 新增 `hasCompletedOnboarding` 参数
{
  "hasCompletedOnboarding": true
}


#npm安装下的前置命令
mkdir -p ~/.claude   ----如果没有这个目录就写入不了配置文件

核心概念

上下文管理

在使用cluade code中,你所对话的记录会被保存为上下文,在大型项目中,可能会遇到上下文溢出,导致AI降智或者异常退出

下面是一些常见的命令

命令

作用

何时使用

/clear

清空所有对话记录

切换任务时使用

/compact

压缩上下文保留需要的

当上下文超过70%,及时使用

/context

可视化显示上下文使用比例

长时间工作时检查

权限管理

可以在配置文件中添加白名单,避免反复弹窗

// .claude/settings.json
{  
        "permissions": {    
            "allow": [      
                 "Bash(git:*)",      
                 "Bash(pnpm:*)",      
                 "Bash(./gradlew:*)"    
    ]  
    }
}

四种输入方式

方式

用法示例

说明

自然语言

帮我在 src/utils.js 添加一个格式化日期的函数

最常用,直接描述需求

@ 文件引用

@src/api/users.js 这里的分页逻辑有 bug

精确指定文件,减少干扰

! Shell 执行

!git status 然后告诉我有哪些未提交的改动

执行命令并纳入上下文

粘贴错误

[粘贴报错] → 帮我修复这个错误

直接粘贴终端报错,Claude 分析根因

用好CLAUDE.md

CLAUDE.md 是 Claude Code 每次启动时自动读取的配置文件,让 Claude 始终了解你的规范,无需每次重新解释。

文件位置

作用范围

适合存放内容

项目根目录/CLAUDE.md

当前项目,提交到 git

技术栈、编码规范、常用命令、架构说明(团队共享)

.claude/CLAUDE.md

当前项目(更整洁)

同上,推荐结构

CLAUDE.local.md

当前项目,不提交

个人本地配置,不共享给团队

~/.claude/CLAUDE.md

全局,所有项目

个人习惯、语言偏好、通用工作流

快速创建模板

/init 
#项目名称-claude工作指南##项目概述
句话描述项目用途和边界。##技术栈
后端: Spring Boot 3.x, Java 17, MyBatis Plus前端: React 18, Typescript, Ant Design数据库:MySQL 8.0(OLTP)
缓存:Redi:(会话和热点数据)包管理:pnpm
##常用命令
启动后端:./gradlew bootRun启动前端:cd frontend && pnpm dev跑单个测试:./gradlew test
tests
'UserServiceTest'
数据库迁移:./gradlew flywayMigrate##代码规范 (与默认不同的部分)
所有API返回用Result统一包装
Service层只包含业务逻辑,不直接操作数据库禁止在Controller层写业务逻辑
API 路径用kebab-case,Json属性用 camelCase##禁止事项
IMPoRTANT:不要修改 prisma/migrations/下的文件IMPoRTANT:所有数据库改动通过 Flyway Migration 文件安装新npm包时必须在回复中说明原因
##分支与PR规范功能分支:feature/xxx修复分支:bugfix/xxx
commit 格式:feat(模块):描述/fix(模块):描述
模板原则

写规则而非故事:「使用命名导出」比「我们团队历史上选择命名导出,因为……」更有效

聚焦「Claude 最容易弄错的事」,不需要把所有内容都写进去

重要规则加强调:「IMPORTANT:」或「YOU MUST」,让 Claude 不会忽略

「禁止事项」比「建议事项」更有价值,明确红线比模糊偏好更有效

定期维护:技术栈或规范变化时及时更新

善用skill

Skills 是项目特定的知识片段,比 CLAUDE.md 更模块化,按需调用而非每次全量读取:这里只是简单介绍一些命令,更详细的会单开一个章节

# 创建 Skill 目录
mkdir -p .claude/skills/api-conventions
# 创建 Skill 文件(.claude/skills/api-conventions/SKILL.md)
---
name: api-conventionsdescription: REST API 设计规范,在讨论或生成 API 时使用
---
- URL 用 kebab-case:/api/user-profiles
- JSON 用 camelCase:{ "userName": "..." }
- 列表接口必须分页
- 版本放 URL:/v1/, /v2/

详细命令

启动命令

命令

说明

claude

默认启动(交互模式)

claude --model opus / sonnet / haiku

启动时指定模型

claude --permission-mode plan

以 Plan Mode 启动

claude --worktree feature-xxx

在隔离 Worktree 中启动

claude --continue

继续最近一次对话

claude --resume

选择历史对话恢复

claude --from-pr 123

从指定 PR 恢复会话

会话中的命令

快捷键

功能

/export

将当前对话导出为文件

/rename [名称]

给当前会话命名,方便后续恢复

/rewind

打开回退菜单(同 Esc+Esc)

/model [名称]

切换模型

/config

打开设置界面

/permissions

管理工具权限白名单

/doctor

运行健康检查

/memory

查看 Claude 自动保存的项目记忆

/hooks

查看已配置的自动化钩子

/agents

管理 Subagents

/mcp

管理 MCP 服务器连接

/install-github-app

安装 GitHub Actions 集成

/vim

开启 Vim 键位绑定模式

/exit

退出 Claude Code

键盘快捷键

快捷键

功能

Shift + Tab(两次)

进入 Plan Mode

Ctrl + C

中断当前操作

Ctrl + G

用系统编辑器编写多行提示词,保存后发送

Ctrl + B

将运行中的任务切到后台(释放前台交互)

Alt + T

切换 Extended Thinking(扩展思维模式)

Esc

中断当前操作

Esc + Esc

打开回退菜单

↑ / ↓ 方向键

浏览历史输入记录

! + 命令

直接执行 Shell 命令

@ + 文件名

引用文件加入上下文

多用 Plan mode

在做项目时,先整体方向的确定,再具体执行,会比直接开始项目好很多

探索 → 规划 → 执行 三步法

Step 1(Plan Mode):分析现有实现,给我一个方案

Step 2(确认):方案可以,开始实现

Step 3(自动):Claude 执行,完成后跑测试验证

复杂功能始终先「describe → plan → approve → implement」,避免改了一大堆再回头

Hooks ---自动化触发器

Hooks 是在特定事件发生时自动执行的 Shell 命令,让 Claude Code 的操作触发外部自动化行为,无需手动干预。

Hook 类型

触发时机

典型用途

PreToolUse

工具调用前

验证、拦截危险操作

PostToolUse

工具调用后

自动格式化、自动 Lint、通知

Notification

Claude 需要介入时

系统通知提醒

配置示例

文件修改后自动 Lint

// .claude/settings.json

{

  "hooks": {

    "PostToolUse": [

      {

        "matcher": "Edit|Write",

        "hooks": [

          {

            "type": "command",

            "command": "npm run lint -- --fix --quiet",

            "timeout": 30000

          }

        ]

      }

    ]

  }

}

文件修改后自动跑测试

// 适合在重构阶段使用,每次改动立即验证

{

  "hooks": {

    "PostToolUse": [

      {

        "matcher": "Edit|Write",

        "hooks": [

          {

            "type": "command",

            "command": "./gradlew test --tests \"OrderServiceTest\" -q 2>&1 | tail -5",

            "timeout": 60000

          }

        ]

      }

    ]

  }

}

Java 编译后实时检查错误

// 后端开发时,每次文件改动立即编译验证

{

  "hooks": {

    "PostToolUse": [

      {

        "matcher": "Edit|Write",

        "hooks": [

          {

            "type": "command",

            "command": "./gradlew compileJava -q 2>&1 | grep -E 'error:|warning:' | head -20 || true",

            "timeout": 30000

          }

        ]

      }

    ]

  }

使用原则

Hooks 命令要快(30 秒内),避免阻塞 Claude 的工作流。

用 matcher 精确匹配触发条件,避免每次操作都触发耗时命令。

调试 Hooks 时,先用 echo 命令测试触发时机是否正确

Worktree ---并行任务隔离

Worktree 基于 Git 的 worktree 功能,让你在独立的目录中对同一仓库的不同分支并行工作,每个 Claude 会话有独立的代码副本,互不干扰。

同时开发多个功能:功能 A 和 bug 修复并行进行

隔离风险:实验性改动失败可以直接丢弃,不影响主分支

Writer / Reviewer 双会话:一个会话写代码,另一个会话全新上下文做代码审查

基础用法

# 在隔离 Worktree 中启动(自动创建 .claude/worktrees/ 目录)claude --worktree feature-auth 
# 同时在两个终端运行
# 终端 1:claude --worktree feature-user-export 
# 终端 2:claude --worktree bugfix-login-timeout

双会话模式

用两个会话分别负责实现和审查,避免「自己审自己」的偏见:
# 终端 1:实现会话(Worktree 中开发)claude --worktree feature-payment
> 实现支付模块,完成后告诉我 
# 终端 2:审查会话(全新上下文,不带实现过程)claude
> 审查 @src/payment/ 下最近一次 git commit 的改动,  
  重点检查:边界情况、安全隐患、与现有代码风格一致性。  
  给出必须修复 / 建议修复 / 可选改进三级反馈。  

避坑指南

1. 不清空上下文就切换任务

问题

完成任务后不执行 /clear 直接开始新任务。Claude 被历史信息干扰,给出不相关甚至矛盾的回答。

解决

每次切换任务前执行 /clear,养成习惯。同一问题修正超过两次,直接 /clear 用更精确的提示重新开始。

2.提示词太模糊

问题

「帮我优化代码」→ Claude 做了你意想不到的大规模改动,难以回滚。

解决

使用黄金提示词公式:目标 + 文件位置 + 验证标准 + 约束条件,四要素缺一不可。

3.不先规划就执行大改动

问题

多文件重构直接执行,不了解影响范围,出了问题难以定位。

解决

改动超过 3 个文件,先用 Plan Mode(Shift+Tab)看清规划后再执行

4. 完全信任 AI 不审查输出

问题

直接 accept 所有改动,不做代码审查,尤其业务逻辑和安全相关部分。

解决

AI 生成的代码必须经过人工审查,重点看:边界条件、错误处理、权限检查。始终让 Claude 改完后运行测试验证。

5.不配置 CLAUDE.md

问题

每次对话都重新解释技术栈、规范、背景,浪费大量 token 和时间。

解决

新项目第一件事执行 /init,让 Claude 生成 CLAUDE.md 模板,然后手动补充最重要的规范。

6.CLAUDE.md 写太长,重要规则被淹没

问题

CLAUDE.md 几百行,Claude 无法有效注意到关键规则。

解决

精简 CLAUDE.md,只留「Claude 最容易弄错的事」。

重要规则加「IMPORTANT:」或「YOU MUST:」强调。

复杂流程转移到 Skills,按需加载。

7.Claude 读了太多不必要的文件

问题

调查问题时没限定范围,Claude 扫描整个 repo,上下文快速耗尽。

解决

用 @ 精确引用文件而非整个目录。

用 Plan Mode 先评估影响面。

复杂探索任务改用 Subagent,不污染主会话。

参考资料

Claude Code 完全新手指南(2026 版):从入门到精通:

https://mp.weixin.qq.com/s/48cSPlibbZ0n8S7ZDLtcJQ

菜鸟教程

https://www.runoob.com/claude-code/claude-code-tutorial.html