核心用法
storage-cleanup 是一个跨平台的磁盘清理脚本,专为 macOS 和 Linux 设计,通过单一命令回收数十 GB 存储空间。使用前强烈建议先执行 --dry-run 预览模式,确认待删除项后再使用 --yes 执行清理。
基本命令:
bash scripts/cleanup.sh --dry-run # 预览模式,安全无风险 bash scripts/cleanup.sh --yes # 确认执行清理 bash scripts/cleanup.sh --yes --skip-docker --skip-kernels # 跳过特定类别
显著优点
1. 零依赖设计:仅需 bash + awk,无需额外安装,兼容所有原生系统
2. 跨平台智能适配:自动检测操作系统,仅执行适用的清理项,避免报错
3. 12+ 清理目标:覆盖垃圾回收站、pip/Go/node 构建缓存、IDE 缓存、Docker 悬空镜像、旧内核/snap 版本、Homebrew 旧包、Xcode 构建产物等
4. 安全优先架构:默认 dry-run 模式,必须显式 --yes 才执行删除;支持 --skip-* 参数精细控制跳过类别
5. 量化反馈:清理前后显示磁盘使用变化,精确报告释放字节数
潜在缺点与局限性
- 非交互式清理:部分高价值目标(如 Ollama 模型、Conda 环境、Time Machine 快照)需手动处理,脚本仅提供命令指引
- 时间阈值固定:
/tmp清理采用 60 分钟硬编码,无法自定义 - macOS 特权限制:部分目录可能需要
sudo才能完全清理,脚本未自动提权 - 无配置文件:每次执行需通过命令行参数调整,不适合自动化定时任务的场景化配置
适合人群
- 开发者工作环境(JetBrains/VSCode/Xcode 重度用户)
- CI/CD 构建节点维护人员
- 磁盘空间紧张的笔记本/服务器用户
- 需要快速安全清理但不希望安装复杂清理工具的用户
常规风险
| 风险项 | 说明 | 缓解措施 |
|--------|------|---------|
| 误删数据 | 尽管 dry-run 可预览,但用户可能跳过检查 | 强制养成 `--dry-run` 优先习惯 |
| 旧内核删除 | Linux 下删除非当前运行内核,极端情况影响启动 | `--skip-kernels` 选项 + 保留当前运行内核的设计 |
| Docker 清理 | 删除 dangling 镜像可能影响未标记的构建缓存 | `--skip-docker` 选项,按需使用 |
| Xcode 清理 | DerivedData/Archives 删除后需重新构建/归档 | 开发环境可接受的重构成本 |
总体评估:这是一个设计审慎、风险可控的系统维护工具,适合技术用户在日常开发维护中使用,但不建议对系统不熟悉的普通用户直接 --yes 执行。