Mac Cleaner
扫描和清理 macOS 系统垃圾文件,帮助释放磁盘空间。
快速开始
使用以下命令扫描不同类型的垃圾文件:
bash
# 扫描系统缓存和临时文件 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
# 扫描当前目录 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
前提条件:
bash
brew install fdupes
参数:
- •第一个参数: 扫描目录 (默认当前目录)
- •第二个参数: 最小文件大小 (默认 1M)
使用场景:
- •备份文件重复
- •下载文件重复
- •项目资源文件重复
示例:
bash
# 扫描当前目录中大于 1MB 的重复文件 bash .claude/skills/mac-cleaner/scripts/scan_duplicates.sh # 扫描指定目录中大于 10MB 的重复文件 bash .claude/skills/mac-cleaner/scripts/scan_duplicates.sh ~/Documents 10M
清理命令:
bash
# 交互式删除 (保留每个重复组的第一个文件) fdupes -r -d -N /path/to/scan
4. 大文件
查找占用大量空间的文件。
脚本: scan_large_files.sh
参数:
- •第一个参数: 扫描目录 (默认当前目录)
- •第二个参数: 最小文件大小 (默认 100M)
- •第三个参数: 显示前 N 个文件 (默认 20)
使用场景:
- •磁盘空间不足
- •查找可以删除的大文件
- •分析磁盘空间占用
示例:
bash
# 查找大于 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: 备份 (可选)
对于重要文件,建议先备份:
bash
# 创建备份 cp -r /path/to/important/file ~/backup/ # 或使用 tar 打包 tar -czf backup_$(date +%Y%m%d).tar.gz /path/to/file
步骤 4: 删除
使用脚本提供的清理命令,或手动删除:
bash
# 删除单个文件/目录
rm -rf /path/to/file
# 删除多个文件
rm -rf file1 file2 file3
# 使用 find 批量删除
find . -name "node_modules" -type d -prune -exec rm -rf {} +
最佳实践
开发项目清理
对于开发项目,建议使用 .gitignore 防止提交临时文件:
gitignore
node_modules/ .next/ dist/ build/ __pycache__/ *.pyc .DS_Store *.log
清理项目前,可以使用:
bash
# 保存依赖列表 npm list > dependencies.txt # 删除 node_modules rm -rf node_modules # 需要时恢复 npm install
定期清理
建议定期(每月或每季度)运行清理:
- •清空回收站
- •清理浏览器缓存
- •删除开发构建产物
- •查找并删除重复文件
系统缓存清理
系统缓存清理需谨慎:
- •只删除已知安全的缓存
- •避免删除正在使用的缓存
- •删除后可能需要重启应用
安全警告
⚠️ 重要提示:
- •删除操作不可逆,请仔细确认
- •系统文件和缓存删除需要 sudo 权限,需格外谨慎
- •删除前建议备份重要数据
- •不确定文件用途时,请先查询或咨询
- •某些缓存删除后首次运行应用会变慢
故障排除
fdupes 未安装
如果使用重复文件扫描时提示 fdupes 未安装:
bash
brew install fdupes
权限不足
某些系统目录需要 sudo 权限:
bash
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- 生成带确认的安全删除脚本