mac-cleaner

SKILL.md

Mac Cleaner

扫描和清理 macOS 系统垃圾文件,帮助释放磁盘空间。

快速开始

使用以下命令扫描不同类型的垃圾文件:

# 扫描系统缓存和临时文件
bash .claude/skills/mac-cleaner/scripts/scan_cache.sh

# 扫描开发临时文件和构建产物 (node_modules, .next, dist 等)
bash .claude/skills/mac-cleaner/scripts/scan_dev_files.sh /path/to/scan

# 扫描重复文件 (需要先安装 fdupes: brew install fdupes)
bash .claude/skills/mac-cleaner/scripts/scan_duplicates.sh /path/to/scan

# 扫描大文件 (默认 > 100MB)
bash .claude/skills/mac-cleaner/scripts/scan_large_files.sh /path/to/scan 100M 20

扫描类型

1. 系统缓存文件

扫描包括:

  • ~/Library/Caches - 用户缓存
  • /Library/Caches - 系统缓存
  • ~/Library/Logs - 用户日志
  • /Library/Logs - 系统日志
  • ~/.Trash - 回收站
  • /tmp - 临时文件

脚本: scan_cache.sh

使用场景:

  • 系统运行缓慢
  • 应用程序出现异常
  • 定期清理系统

注意事项:

  • 删除系统缓存需要 sudo 权限
  • 删除后首次运行应用可能会变慢(需要重建缓存)
  • 建议先备份重要数据

2. 开发临时文件

扫描包括:

  • node_modules - Node.js 依赖
  • .next - Next.js 构建产物
  • dist / build - 前端构建产物
  • target - Java/Scala 编译产物
  • __pycache__ / *.pyc - Python 缓存
  • .DS_Store - macOS 系统文件
  • *.log - 日志文件

脚本: scan_dev_files.sh

参数:

  • 第一个参数: 扫描目录 (默认当前目录)
  • 第二个参数: 最大深度 (默认 3 层)

使用场景:

  • 开发项目占用大量空间
  • 切换分支前清理构建产物
  • 清理不再使用的项目依赖

示例:

# 扫描当前目录
bash .claude/skills/mac-cleaner/scripts/scan_dev_files.sh

# 扫描指定目录,深度为 2
bash .claude/skills/mac-cleaner/scripts/scan_dev_files.sh ~/projects 2

3. 重复文件

使用 fdupes 工具查找重复文件。

脚本: scan_duplicates.sh

前提条件:

brew install fdupes

参数:

  • 第一个参数: 扫描目录 (默认当前目录)
  • 第二个参数: 最小文件大小 (默认 1M)

使用场景:

  • 备份文件重复
  • 下载文件重复
  • 项目资源文件重复

示例:

# 扫描当前目录中大于 1MB 的重复文件
bash .claude/skills/mac-cleaner/scripts/scan_duplicates.sh

# 扫描指定目录中大于 10MB 的重复文件
bash .claude/skills/mac-cleaner/scripts/scan_duplicates.sh ~/Documents 10M

清理命令:

# 交互式删除 (保留每个重复组的第一个文件)
fdupes -r -d -N /path/to/scan

4. 大文件

查找占用大量空间的文件。

脚本: scan_large_files.sh

参数:

  • 第一个参数: 扫描目录 (默认当前目录)
  • 第二个参数: 最小文件大小 (默认 100M)
  • 第三个参数: 显示前 N 个文件 (默认 20)

使用场景:

  • 磁盘空间不足
  • 查找可以删除的大文件
  • 分析磁盘空间占用

示例:

# 查找大于 100MB 的文件,显示前 20 个
bash .claude/skills/mac-cleaner/scripts/scan_large_files.sh

# 查找大于 1GB 的文件,显示前 10 个
bash .claude/skills/mac-cleaner/scripts/scan_large_files.sh ~/Documents 1G 10

清理流程

所有扫描脚本都会提供清理命令建议。遵循以下安全流程:

步骤 1: 扫描

首先使用相应的脚本扫描目标目录,识别垃圾文件。

步骤 2: 检查结果

仔细检查扫描结果,确认要删除的文件:

  • 确认文件确实不再需要
  • 检查是否有重要数据
  • 验证删除不会影响其他程序

步骤 3: 备份 (可选)

对于重要文件,建议先备份:

# 创建备份
cp -r /path/to/important/file ~/backup/

# 或使用 tar 打包
tar -czf backup_$(date +%Y%m%d).tar.gz /path/to/file

步骤 4: 删除

使用脚本提供的清理命令,或手动删除:

# 删除单个文件/目录
rm -rf /path/to/file

# 删除多个文件
rm -rf file1 file2 file3

# 使用 find 批量删除
find . -name "node_modules" -type d -prune -exec rm -rf {} +

最佳实践

开发项目清理

对于开发项目,建议使用 .gitignore 防止提交临时文件:

node_modules/
.next/
dist/
build/
__pycache__/
*.pyc
.DS_Store
*.log

清理项目前,可以使用:

# 保存依赖列表
npm list > dependencies.txt

# 删除 node_modules
rm -rf node_modules

# 需要时恢复
npm install

定期清理

建议定期(每月或每季度)运行清理:

  1. 清空回收站
  2. 清理浏览器缓存
  3. 删除开发构建产物
  4. 查找并删除重复文件

系统缓存清理

系统缓存清理需谨慎:

  • 只删除已知安全的缓存
  • 避免删除正在使用的缓存
  • 删除后可能需要重启应用

安全警告

⚠️ 重要提示:

  • 删除操作不可逆,请仔细确认
  • 系统文件和缓存删除需要 sudo 权限,需格外谨慎
  • 删除前建议备份重要数据
  • 不确定文件用途时,请先查询或咨询
  • 某些缓存删除后首次运行应用会变慢

故障排除

fdupes 未安装

如果使用重复文件扫描时提示 fdupes 未安装:

brew install fdupes

权限不足

某些系统目录需要 sudo 权限:

sudo bash .claude/skills/mac-cleaner/scripts/scan_cache.sh

扫描速度慢

对于大型目录:

  • 限制扫描深度
  • 增加最小文件大小限制
  • 分目录扫描

资源

scripts/

  • scan_cache.sh - 扫描系统缓存和临时文件
  • scan_dev_files.sh - 扫描开发临时文件和构建产物
  • scan_duplicates.sh - 扫描重复文件
  • scan_large_files.sh - 扫描大文件
  • generate_cleanup_commands.sh - 生成带确认的安全删除脚本
Weekly Installs
7
First Seen
Jan 29, 2026
Installed on
opencode7
claude-code7
gemini-cli6
cursor6
antigravity5
github-copilot5