提交
This commit is contained in:
parent
012e8ed87a
commit
e886c76c14
149
source/_posts/Claude-Code.md
Normal file
149
source/_posts/Claude-Code.md
Normal file
@ -0,0 +1,149 @@
|
||||
---
|
||||
title: Claude Code
|
||||
date: 2026-02-27 14:05:22
|
||||
tags: [AI, 效率工具]
|
||||
categories: 开发工具
|
||||
---
|
||||
|
||||
## 简介
|
||||
|
||||
Claude Code 是 Anthropic 官方推出的 CLI 工具,让你在终端中直接使用 Claude AI 助手完成软件工程任务。
|
||||
|
||||
## 安装
|
||||
|
||||
### 通过 npm 安装
|
||||
|
||||
确保已安装 Node.js(推荐 v18+ 版本),然后使用 npm 全局安装:
|
||||
|
||||
```bash
|
||||
npm install -g @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
或者使用 yarn:
|
||||
|
||||
```bash
|
||||
yarn global add @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
使用 pnpm:
|
||||
|
||||
```bash
|
||||
pnpm add -g @anthropic-ai/claude-code
|
||||
```
|
||||
|
||||
### 验证安装
|
||||
|
||||
```bash
|
||||
claude -v
|
||||
```
|
||||
|
||||
## 配置
|
||||
|
||||
### 1. 获取 API Key
|
||||
|
||||
访问 [Anthropic Console](https://console.anthropic.com/) 注册账号并获取 API Key。
|
||||
|
||||
### 2. 配置 API Key
|
||||
|
||||
有两种方式配置 API Key:
|
||||
|
||||
**方式一:环境变量(推荐)**
|
||||
|
||||
在命令行中设置环境变量:
|
||||
|
||||
```bash
|
||||
# Windows PowerShell
|
||||
$env:ANTHROPIC_API_KEY="your-api-key-here"
|
||||
|
||||
# Windows CMD
|
||||
set ANTHROPIC_API_KEY=your-api-key-here
|
||||
|
||||
# macOS/Linux
|
||||
export ANTHROPIC_API_KEY="your-api-key-here"
|
||||
```
|
||||
|
||||
**方式二:配置文件**
|
||||
|
||||
运行 `claude` 命令后会提示输入 API Key,会自动保存到配置文件中。
|
||||
|
||||
配置文件位置:
|
||||
- Windows: `%APPDATA%\claude-code\config.json`
|
||||
- macOS/Linux: `~/.config/claude-code/config.json`
|
||||
|
||||
### 3. 配置模型
|
||||
|
||||
可以指定使用的 Claude 模型:
|
||||
|
||||
```bash
|
||||
# 使用最新模型
|
||||
claude --model claude-opus-4-6
|
||||
|
||||
# 使用 Sonnet 模型
|
||||
claude --model claude-sonnet-4-6
|
||||
|
||||
# 使用 Haiku 模型
|
||||
claude --model claude-haiku-4-5-20251001
|
||||
```
|
||||
|
||||
## 常用命令
|
||||
|
||||
| 命令 | 说明 |
|
||||
|------|------|
|
||||
| `claude` | 启动交互式对话 |
|
||||
| `claude -p "问题"` | 直接提问并获取答案 |
|
||||
| `claude --model <模型名>` | 指定模型 |
|
||||
| `claude --version` | 查看版本 |
|
||||
| `claude --help` | 查看帮助 |
|
||||
|
||||
## MCP 配置
|
||||
|
||||
MCP (Model Context Protocol) 允许 Claude 连接外部服务和工具。
|
||||
|
||||
### 添加 MCP Server
|
||||
|
||||
```bash
|
||||
# 添加 fetch MCP 服务(用于网页内容抓取)
|
||||
claude mcp add fetch -- uvx mcp-server-fetch
|
||||
```
|
||||
|
||||
### 常用 MCP 服务
|
||||
|
||||
| 服务 | 命令 | 说明 |
|
||||
|------|------|------|
|
||||
| fetch | `claude mcp add fetch -- uvx mcp-server-fetch` | 网页内容抓取 |
|
||||
| filesystem | `claude mcp add filesystem -- npx -y @anthropic-ai/mcp-server-filesystem` | 文件系统访问 |
|
||||
| git | `claude mcp add git -- npx -y @anthropic-ai/mcp-server-git` | Git 操作 |
|
||||
|
||||
### 查看已配置的 MCP
|
||||
|
||||
```bash
|
||||
claude mcp list
|
||||
```
|
||||
|
||||
### 移除 MCP
|
||||
|
||||
```bash
|
||||
claude mcp remove <服务名>
|
||||
```
|
||||
|
||||
## 使用示例
|
||||
|
||||
```bash
|
||||
# 启动交互模式
|
||||
claude
|
||||
|
||||
# 直接提问
|
||||
claude -p "解释一下什么是闭包"
|
||||
|
||||
# 分析代码文件
|
||||
claude -p "这个函数有什么问题" ./src/index.js
|
||||
|
||||
# 使用特定模型
|
||||
claude --model claude-opus-4-6 -p "帮我重构这段代码"
|
||||
```
|
||||
|
||||
## 注意事项
|
||||
|
||||
- API 调用会产生费用,请合理使用
|
||||
- 建议将 API Key 设置为环境变量避免每次输入
|
||||
- 不同模型的价格和能力有所不同,根据需要选择
|
||||
@ -780,10 +780,41 @@ docker volume rm $(docker volume ls -qf dangling=true)
|
||||
|
||||
## 限制容器的日志大小
|
||||
|
||||
防止它再次爆满
|
||||
|
||||
配置 Docker 全局日志轮转策略
|
||||
|
||||
**编辑/新建 Docker 配置文件**:`/etc/docker/daemon.json`
|
||||
|
||||
**添加 log-opts 配置**: (限制每个容器日志最大 100MB,最多保留 3 个文件)
|
||||
|
||||
```json
|
||||
{
|
||||
"log-driver": "json-file",
|
||||
"log-opts": {
|
||||
"max-size": "100m",
|
||||
"max-file": "3"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
(注意:如果文件里已有其他配置,请确保 JSON 格式正确,不要漏掉逗号)
|
||||
|
||||
**重启 Docker 服务**:
|
||||
|
||||
```shell
|
||||
systemctl daemon-reload
|
||||
systemctl restart docker
|
||||
```
|
||||
|
||||
注意:此配置只对**新建**的容器生效。对于现有的 `1a28bcc...` 容器,你需要将其删除并重新运行 (`docker rm` -> `docker run`) 才能应用新策略。
|
||||
|
||||
## 清理容器日志
|
||||
|
||||
Docker 的所有相关文件,包括镜像、容器等都保存在 **/var/lib/docker** 目录中:
|
||||
|
||||
```shell
|
||||
du -hs /var/lib/docker/
|
||||
du -sh /var/lib/docker/
|
||||
29G /var/lib/docker/
|
||||
```
|
||||
|
||||
@ -795,6 +826,18 @@ du -hs /var/lib/docker/
|
||||
truncate -s 0 /var/lib/docker/containers/a376aa694b22ee497f6fc9f7d15d943de91c853284f8f105ff5ad6c7ddae7a53/*-json.log
|
||||
```
|
||||
|
||||
也可以清空文件内容,需要root权限
|
||||
|
||||
```shell
|
||||
# 方法 1:使用 echo 重定向(推荐)
|
||||
sh -c "echo '' > /var/lib/docker/containers/1a28bcc2e01033a9d83df7ac183cb128cdd81e40852befbb218459d04a054189/1a28bcc2e01033a9d83df7ac183cb128cdd81e40852befbb218459d04a054189-json.log"
|
||||
|
||||
# 或者 方法 2:使用 cat /dev/null
|
||||
sh -c "cat /dev/null > /var/lib/docker/containers/1a28bcc2e01033a9d83df7ac183cb128cdd81e40852befbb218459d04a054189/1a28bcc2e01033a9d83df7ac183cb128cdd81e40852befbb218459d04a054189-json.log"
|
||||
```
|
||||
|
||||
**原理:** 这会将文件的大小截断为 0,但保持文件的 inode(文件句柄)不变。Docker 进程可以继续向这个文件写入新日志,而你立即获得释放的空间。
|
||||
|
||||
## 重启 Docker
|
||||
|
||||
当我清理了镜像、容器以及数据卷之后,发现磁盘空间并没有减少。根据[Docker disk usage](https://github.com/moby/moby/issues/12265)提到过的建议,我重启了 Docker,发现**磁盘使用率从 83%降到了 19%**。根据高手[指点](https://github.com/moby/moby/issues/12265#issuecomment-316303769),这应该是与内核 3.13 相关的 BUG,导致 Docker 无法清理一些无用目录:
|
||||
|
||||
@ -243,6 +243,12 @@ du -Sh / | sort -rh | head -n10
|
||||
|
||||
# 只看大小在 GB 范围内的所有文件
|
||||
du -ah / | grep "[0-9]G\b"
|
||||
|
||||
# 查看各目录占用(从根目录开始,排序显示)
|
||||
du -sh /* 2>/dev/null | sort -rh | head -20
|
||||
|
||||
# 重点查看 /var 目录
|
||||
du -sh /var/* 2>/dev/null | sort -rh | head -20
|
||||
```
|
||||
|
||||
## 进程管理
|
||||
@ -1478,6 +1484,18 @@ mount -t cifs -o username=user,password=backup //192.168.0.1/备份 /mnt/wdshare
|
||||
//192.168.0.1/备份 /mnt/wdshare/ cifs username=user,password=backup 0 0
|
||||
```
|
||||
|
||||
`:wq`保存好,使用以下命令使修改生效
|
||||
|
||||
```shell
|
||||
sudo systemctl daemon-reload
|
||||
```
|
||||
|
||||
一键挂载上
|
||||
|
||||
```shell
|
||||
sudo mount -a
|
||||
```
|
||||
|
||||
### NTFS 分区
|
||||
|
||||
#### 可读可写
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user