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
扫描类型
- 系统缓存文件
扫描包括:
-
~/Library/Caches
-
用户缓存
-
/Library/Caches
-
系统缓存
-
~/Library/Logs
-
用户日志
-
/Library/Logs
-
系统日志
-
~/.Trash
-
回收站
-
/tmp
-
临时文件
脚本: scan_cache.sh
使用场景:
-
系统运行缓慢
-
应用程序出现异常
-
定期清理系统
注意事项:
-
删除系统缓存需要 sudo 权限
-
删除后首次运行应用可能会变慢(需要重建缓存)
-
建议先备份重要数据
- 开发临时文件
扫描包括:
-
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
- 重复文件
使用 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
- 大文件
查找占用大量空间的文件。
脚本: 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
定期清理
建议定期(每月或每季度)运行清理:
-
清空回收站
-
清理浏览器缓存
-
删除开发构建产物
-
查找并删除重复文件
系统缓存清理
系统缓存清理需谨慎:
-
只删除已知安全的缓存
-
避免删除正在使用的缓存
-
删除后可能需要重启应用
安全警告
⚠️ 重要提示:
-
删除操作不可逆,请仔细确认
-
系统文件和缓存删除需要 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
-
生成带确认的安全删除脚本