首页 › tutorials › 零基础装通Claude Code造命令行记账本

概述

本教程面向从未用过命令行 AI 编程工具的零基础读者,带你从「装不上、不敢用」到「自己跑通第一个项目」。全程围绕一个真实可用的案例——命令行记账本 wallet.py(记一笔、列清单、按类别汇总,数据落地 JSON)——把 Claude Code 的安装、登录、配置、权限、迭代、提交串成一条完整工作流。学完你将能独立用自然语言指挥 AI 产出并验证代码,不再只是复制粘贴。

前置条件

⚠️ 重要纠正一个 2025 年的旧认知:用 npm install -g @anthropic-ai/claude-code 安装已被官方标记为「废弃(deprecated)」。现在推荐「原生安装(native install)」,它会自动带上运行时,不再强制你先装 Node.js。本教程全部采用官方推荐的新装法。


正文:八步从零到跑通

第 1 步:安装 Claude Code(原生安装,推荐)

打开终端,按你的系统选一条执行:

macOS / Linux / WSL:

curl -fsSL https://claude.ai/install.sh | bash

Windows PowerShell:

irm https://claude.ai/install.ps1 | iex

Windows CMD(命令提示符):

curl -fsSL https://claude.ai/install.cmd -o install.cmd && install.cmd && del install.cmd

备选方式(任选其一,适合对应生态):

# Homebrew(macOS/Linux),claude-code 为稳定通道,约落后主版本一周
brew install --cask claude-code

# WinGet(Windows)
winget install Anthropic.ClaudeCode

# Linux 包管理器
# apt / dnf / apk 也可用(Debian / Fedora / RHEL / Alpine)

预期结果: 安装完成后,终端输入下面命令能看到版本号,说明装好了:

claude --version
# 输出示例:2.1.199 (Claude Code)

原生安装会在后台自动更新,长期保持最新版;Homebrew 和 WinGet 不会自动更新,需定期 brew upgrade claude-code 或 winget upgrade Anthropic.ClaudeCode。

常见问题:

报错 / 现象 原因 解决
'irm' is not recognized... 你在 CMD 里跑了 PowerShell 命令 看提示符:PS C:\> 是 PowerShell,C:\> 才是 CMD,换对环境
The token '&&' is not valid... 在 PowerShell 里用了 && 连接 PowerShell 用 ; 或分开执行,或改用 CMD
syntax error near unexpected token '<' 或 403 网络被拦截 / curl 被代理改写 检查代理设置,或换网络;官方文档有专门的 Troubleshoot 安装对照表
公司网络完全装不上 出口受限 让管理员配自托管 gateway,或先用 Console API 密钥方式

第 2 步:首次登录

在任意目录执行:

claude

第一次运行会提示登录。浏览器会打开一个认证页面,用你的 Claude 账号完成授权即可。登录后凭证会保存,之后不再需要重复登录。

可登录的账号类型:

预期结果: 登录成功后,终端出现交互式提示符 >,等待你输入。

想切换账号或重新认证,在会话里输入:

/login

常见问题: 浏览器没自动弹出?复制终端里显示的那段 URL,手动粘到浏览器打开即可。国内网络若卡在跳转,确认代理放行了 claude.ai 与 statsig.anthropic.com。

第 3 步:建项目目录并初始化 Git

Claude Code 最擅长在「一个项目文件夹 + Git 仓库」里干活。我们新建记账本项目:

mkdir my-wallet && cd my-wallet
git init

为什么一定要 Git? Claude Code 会读 Git 状态来理解「改了哪些文件」,并能在你满意时帮你生成规范的 commit。没有 Git,很多能力会打折。Windows 用户若没装 Git,建议先装 Git for Windows,这样 Claude Code 才能稳定使用 Bash 工具。

预期结果: 终端当前路径变成 .../my-wallet,且生成了 .git 隐藏目录。

第 4 步:用 /init 生成项目记忆 CLAUDE.md

在 Claude Code 会话里输入斜杠命令:

/init

它会扫描当前目录,生成一份 CLAUDE.md——这是项目的「长期记忆」,告诉 AI 这个项目用什么技术栈、遵循什么规范。首次生成后,可以用 /memory 继续微调。

对本项目,我们让记忆尽量精炼。你可以在生成的 CLAUDE.md 里保留如下要点:

# 项目:命令行记账本 wallet.py
- 语言:Python 3,仅用标准库,不引第三方依赖
- 数据落地:wallet.json(UTF-8,中文不转义)
- 命令风格:python wallet.py <子命令> [参数]
- 编码:所有文件 UTF-8,print 输出中文

预期结果: 目录下出现 CLAUDE.md,下次会话 Claude 会自动读取它,省去每次重复交代背景。

常见问题: CLAUDE.md 会不会越写越乱?会。官方在 2026-07-09 新增了 /checkup 维护命令,能审计你的配置:清理用不到的 skills / MCP / 插件以节省上下文、给根目录臃肿的 CLAUDE.md 做去重和拆分。定期跑一次即可。

第 5 步:第一次对话——让 AI 造出记账本

现在用一句自然语言下达任务(直接粘进会话):

用 Python 写一个命令行记账本 wallet.py。功能:
1) add 金额 类别 备注 —— 记一笔,自动加当前时间
2) list —— 列出所有记录
3) summary —— 按类别汇总金额并给合计
数据存成 wallet.json(UTF-8,中文不转义)。只用标准库。写完跑几条示例命令测试给我看。

预期结果: Claude Code 会创建 wallet.py,内容大致如下(它生成、你可审阅):

import json, sys, os
from datetime import datetime
from collections import defaultdict

DATA_FILE = "wallet.json"

def load():
    if os.path.exists(DATA_FILE):
        with open(DATA_FILE, encoding="utf-8") as f:
            return json.load(f)
    return []

def save(records):
    with open(DATA_FILE, "w", encoding="utf-8") as f:
        json.dump(records, f, ensure_ascii=False, indent=2)

def add(amount, category, note=""):
    recs = load()
    recs.append({"date": datetime.now().strftime("%Y-%m-%d %H:%M"),
                 "amount": float(amount), "category": category, "note": note})
    save(recs)
    print(f"✅ 已记录:{amount} 元 -> {category}({note})")

def lst():
    for r in load():
        print(f"{r['date']}  {r['amount']:>8.2f}  {r['category']:<6}  {r['note']}")

def summary():
    by = defaultdict(float)
    for r in load():
        by[r["category"]] += r["amount"]
    print("分类汇总:")
    for cat, total in sorted(by.items(), key=lambda x: -x[1]):
        print(f"  {cat:<8} {total:>10.2f}")
    print(f"  {'合计':<8} {sum(by.values()):>10.2f}")

if __name__ == "__main__":
    cmd = sys.argv[1] if len(sys.argv) > 1 else "list"
    if cmd == "add":
        add(sys.argv[2], sys.argv[3], sys.argv[4] if len(sys.argv) > 4 else "")
    elif cmd == "list":
        lst()
    elif cmd == "summary":
        summary()
    else:
        print("用法: python wallet.py [add 金额 类别 备注 | list | summary]")

接着它会自己执行测试命令并把输出贴给你:

$ python wallet.py add 38 午餐 公司楼下盒饭
✅ 已记录:38 元 -> 午餐(公司楼下盒饭)
$ python wallet.py add 12.5 交通 地铁
✅ 已记录:12.5 元 -> 交通(地铁)
$ python wallet.py summary
分类汇总:
  午餐       38.00
  交通       12.50
  合计       50.50

关键点: 当 Claude 想运行 python wallet.py ... 时,终端会弹出权限确认,问你是否允许。这是 Claude Code 的安全设计——它不会偷偷跑命令。你按 y 同意即可(后面会讲怎么减少这些打断)。

常见问题:

第 6 步:迭代加功能——导出 CSV

记账本要能导出表格才实用。继续用自然语言提需求:

给 wallet.py 加一个 export 命令,把所有记录导出成 expenses.csv(带表头:日期,金额,类别,备注),金额保留两位小数。

预期结果: Claude 在原文件里追加 export() 分支,并跑一次导出给你看:

$ python wallet.py export
已导出 2 条记录到 expenses.csv

打开 expenses.csv:

日期,金额,类别,备注
2026-07-11 14:02,38.00,午餐,公司楼下盒饭
2026-07-11 14:03,12.50,交通,地铁

这一步演示了 Claude Code 的核心价值:它读得懂现有代码、在恰当位置增量修改、改完自测,而不是每次从零重写。

第 7 步:理解并配置权限(少被打断)

每次跑命令都要按 y 会烦。输入:

/permissions

可以管理「允许 / 询问 / 拒绝」清单。对本项目,建议把安全的只读 / 运行命令放进白名单,例如允许 python wallet.py *、python3 *、git status、git diff。这些规则会写进项目的 .claude/settings.json 或用户级的 ~/.claude/settings.json。

三种权限模式(按需切换):

给新手的建议:起步用默认模式,亲手按几次 y,看清它在做什么;熟悉后再逐步放行白名单命令。

常见问题: 它提示要执行一条你不放心的命令(比如 rm、git push)?直接选拒绝,或用 /permissions 把危险动词挡掉。Claude Code 默认不会联网外发你的代码,但 git push 这类「外向」动作务必亲自确认。

第 8 步:用 Git 收尾提交

确认功能 OK 后,让 Claude 帮你提交:

把现在的改动提交一个规范的 commit,message 用中文,遵循「类型:简述」格式。

预期结果: 它会先 git add(只加你确认的文件)、git status 给你看暂存内容,再提交:

feat: 新增命令行记账本 wallet.py,支持记一笔/列表/汇总/导出CSV

提交后,git log 能看到这条记录。一个可运行、可追溯、可继续迭代的小项目就此闭环。


实战案例回顾:wallet.py 的完整生命周期

把上面八步浓缩成一次真实开发会话:

  1. 环境:macOS,已用 curl -fsSL https://claude.ai/install.sh | bash 装好,claude --version 显示 2.1.199。
  2. 建仓:mkdir my-wallet && cd my-wallet && git init。
  3. 记忆:/init 生成 CLAUDE.md,写入「Python 标准库、UTF-8、JSON 落地」三条约束。
  4. 造物:一段自然语言 → wallet.py + 自动测试,看到 ✅ 已记录 与汇总输出。
  5. 扩能:一句「加 export 导出 CSV」→ 增量代码 + 自测 + expenses.csv。
  6. 收尾:自然语言提交 → 规范化 commit message。

整个过程没有手写一行代码,但你始终掌控:审阅生成的代码、按 y 放行命令、看测试输出、决定何时提交。这就是「用 AI 编程」而非「被 AI 编程」。

可继续扩展的方向(留给读者练手): - 加 delete <序号> 删除某条 - 加 --month 2026-07 按月过滤 - 用 sqlite3 标准库把 JSON 换成真正的数据库 - 加 budget set 类别 限额 与超支提醒


工作流程图

flowchart TD
    A[安装 Claude Code<br/>原生 installer] --> B[首次登录<br/>claude → 浏览器认证]
    B --> C[建项目目录 + git init]
    C --> D[/init 生成 CLAUDE.md<br/>项目长期记忆]
    D --> E[自然语言下达任务<br/>造 wallet.py]
    E --> F{Claude 请求执行命令}
    F -->|权限确认 y| G[运行测试<br/>看到 ✅ 输出]
    F -->|拒绝| H[修正后重试]
    G --> I[迭代加功能<br/>export CSV]
    I --> J[git add + 规范 commit]
    J --> K[✅ 可运行可追溯的小项目]

    style A fill:#e8f5e9
    style K fill:#fff3e0
    style F fill:#ffebee

常见问题速查表

问题 一句话解法
npm install -g 还能用吗? 已废弃,改用原生 installer(curl ... claude.ai/install.sh)
登录浏览器没弹? 复制终端里的 URL 手动打开
跑命令老是要按 y? /permissions 把 python wallet.py * 等加白名单
代码报错? 把报错原文贴回去,让它读错、定位、改、再测
CLAUDE.md 太乱? 跑新命令 /checkup 自动审计去重拆分
安装 / 配置异常排查 会话里输入 /doctor,自动诊断并尝试修复
想回到某个干净状态 /rewind 把代码和对话回滚到检查点
上下文太长卡顿 /context 看占窗内容,/compact 压缩,/clear 开新任务保留记忆

延伸阅读


训练营适用性评估


参考来源

  1. Claude Code 官方 Quickstart — 安装、登录、首次会话的权威八步指南,含原生 installer 命令与各账号类型说明
  2. Claude Code 官方 Commands 参考 — 全部斜杠命令(/init、/permissions、/compact、/checkup、/doctor、/rewind 等)完整语义
  3. anthropics/claude-code GitHub README — 官方仓库,确认 npm 安装已 deprecated、原生 installer 为推荐方式、Node.js 18+ 标记
  4. Claude Code Cheat Sheet(support.claude.com) — 官方命令与键盘快捷键速查
  5. explainx.ai:Claude Code Commands 完整参考(2026,含 /checkup 更新) — 第三方命令详解,记录 2026-07-09 新增的 /checkup 维护命令

本文由「51学通信」原创整理,站长爱卫生(微信:gprshome201101)持续输出通信与 AI 工程实战内容。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入