主题
1.3 文件操作 — Claude Code 的超能力
学习目标
- 理解 Claude Code 如何读取、创建和修改文件
- 学会通过自然语言让 Claude Code 操作文件
- 理解权限确认机制,放心大胆地使用
- 通过实际操作建立信心
为什么说文件操作是"超能力"?
ChatGPT 只能在聊天窗口里给你代码,你还得自己复制粘贴到编辑器里。Claude Code 不一样——它直接在你的项目里创建文件、修改代码、运行命令。
这就像是:ChatGPT 是远程电话指导你做菜,Claude Code 是直接到你厨房帮你做菜。效率差了不是一点半点。
读取文件
最简单的操作,直接告诉 Claude Code 你想看什么文件:
> 看一下 package.json 的内容Claude Code 会读取文件并显示内容,同时理解文件的上下文。你也可以用 @ 引用:
> @src/App.tsx 这个文件目前的结构是怎样的?帮我梳理一下[截图: Claude Code 读取文件后的输出,显示文件内容和 AI 的解读]
Claude Code 不只是"读"给你看,它会理解文件内容。你可以问它:
> 这个项目用了哪些依赖?有没有过时的?
> src/utils 目录里的工具函数都是干什么的?帮我列个清单
> 这个 API 接口的请求参数和返回格式是什么?它会自动去找相关文件,综合分析后给你答案。
踩坑提醒:Claude Code 默认只能读取当前项目目录内的文件。如果你想让它读其他位置的文件,需要额外配置权限。
创建文件
直接描述你要什么,Claude Code 帮你创建:
> 创建一个 src/utils/formatDate.ts 工具函数,要求:
> - 接收 Date 对象或时间戳
> - 支持 "YYYY-MM-DD"、"YYYY/MM/DD"、"MM月DD日" 三种格式
> - 导出为命名导出Claude Code 会:
- 在指定路径创建文件
- 写入符合要求的代码
- 显示创建的文件内容给你确认
[截图: Claude Code 创建文件时的确认界面,显示即将写入的内容]
关键来了——它会先问你。在实际写入文件之前,Claude Code 会展示它要创建的内容,等你确认后才执行。
你会看到类似这样的提示:
Claude wants to create file: src/utils/formatDate.ts
[文件内容预览]
Allow? (y/n)按 y 确认,文件就创建了。按 n 拒绝,它会问你哪里不满意。
修改文件
这是 Claude Code 最强大的地方。它不会整个文件重写,而是做精确修改——只改需要改的地方。
> @src/components/Button.tsx 给这个按钮组件加上 loading 状态:
> - 新增 loading 属性
> - loading 时显示旋转图标,按钮不可点击
> - 保持现有样式不变Claude Code 会用它的 Edit 工具做精确替换:
[截图: Claude Code 修改文件时的 diff 预览,红色删除行+绿色新增行]
你会看到清晰的 diff 对比:
- 红色部分是要删除的旧代码
- 绿色部分是要添加的新代码
一样会等你确认后才执行。
踩坑提醒:如果 Claude Code 的修改看起来改了太多地方,或者改了你没要求改的部分,果断拒绝,然后更具体地描述你的需求。不要因为"AI 做了嘛应该没问题"就盲目接受。
权限确认机制
Claude Code 的设计理念是:你始终掌握控制权。
每次它要做以下操作时,都会先问你:
| 操作类型 | 确认提示 |
|---|---|
| 创建新文件 | "Claude wants to create file: xxx" |
| 修改已有文件 | "Claude wants to edit file: xxx" |
| 删除文件 | "Claude wants to delete file: xxx" |
| 运行命令 | "Claude wants to run: xxx" |
[截图: 不同操作类型的确认弹窗对比]
快捷操作:
- 按
y— 同意这次操作 - 按
n— 拒绝这次操作 - 按
a— 同意此类型的所有后续操作(比如连续创建多个文件时不用每个都确认)
刚开始用的时候,建议每次都认真看一下它要做什么再确认。等你对 Claude Code 建立了信任,可以用
a批量接受,或者切换到更宽松的权限模式(后面进阶篇会讲)。
实战演示:从零创建一个小工具
让我们把上面学的连起来,做一个完整的操作:
第一步:让 Claude Code 创建项目结构
> 帮我创建一个温度转换工具,文件结构如下:
> - src/converter.js — 核心转换逻辑(摄氏/华氏/开尔文互转)
> - src/index.js — 入口文件,从命令行读取参数
> - package.json — 项目配置第二步:确认创建
Claude Code 会逐一展示每个文件的内容,你一个个确认。
[截图: 逐个确认文件创建的完整流程]
第三步:试运行
> 运行一下看看效果:node src/index.js 100 C FClaude Code 会执行这个命令,然后把输出展示给你:
100°C = 212°F第四步:发现问题,让它修改
> 输出格式改一下,加上小数点后两位,而且加上开尔文的结果它会精确修改 converter.js 里的输出逻辑,其他代码不动。
常见问题
Q:Claude Code 会不会改错文件? A:它每次修改前都会告诉你要改哪个文件的哪些内容。你有充分的审查机会。而且就算改错了,还有检查点可以回退(下节课讲)。
Q:它能操作图片、视频这些非代码文件吗? A:Claude Code 可以读取图片(理解图片内容),可以创建和操作文本类文件。但它无法直接编辑二进制文件(如图片的像素)。不过它可以帮你写脚本来处理这些文件。
Q:同时改多个文件可以吗? A:完全可以。你描述需求后,Claude Code 会列出所有需要修改的文件,逐一展示修改内容让你确认。一个复杂的功能可能涉及五六个文件的改动,它都能处理。
Q:它会不会误删我的文件? A:删除操作同样需要你确认。而且实际使用中,Claude Code 极少主动提出删除文件。通常只有你明确说"删掉这个文件"时它才会执行。
小结
文件操作是 Claude Code 和普通聊天 AI 的最大区别。记住三点:
- 直接说需求,不用操心具体的文件操作命令,Claude Code 自己知道该读、该建还是该改
- 每次操作都有确认,你不点头它不动手
- 看 diff 是好习惯,确认修改内容再接受
下节课我们讲检查点——你的终极安全网,让你放心大胆地尝试各种操作。