mo clean:深度清理
mo clean 处理已知的应用缓存、日志、临时文件、开发工具缓存和已经卸载的应用残留。它并不卸载仍然安装的应用,也不代表所有大目录都可以清理。
默认永久删除
真实执行可能直接删除文件,而非移到废纸篓,并且默认会清空用户的 ~/.Trash。务必先运行 mo clean --dry-run,必要时在白名单里保护 Trash。
命令参数
| 参数 | 含义 |
|---|---|
--dry-run / -n | 只读预览,不修改文件 |
--whitelist | 管理需要保留的缓存路径 |
--external PATH | 仅处理指定外接卷上的支持范围内的 OS 元数据 |
--debug | 输出更详细的操作诊断 |
-h / --help | 显示帮助 |
旧版可能出现的 --select、--categories、--exclude 在本文源码基线中已经移除。
最常用用例
bash
# 首先检查会涉及哪些路径
mo clean --dry-run
# 带诊断信息查看跳过原因
mo clean --dry-run --debug
# 进入保护菜单
mo clean --whitelist
# 完成审查后才执行真实清理
mo clean1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
默认可选白名单保存在 ~/.config/mole/whitelist。文件存在时会取代普通默认保护项;强制安全规则仍然生效。详见 白名单与配置。
核心覆盖范围
| 类别 | 典型资产 | 主要保护条件 |
|---|---|---|
| 用户基础数据 | Library/Caches、日志、旧临时文件 | 保留关键系统和个人数据 |
| 浏览器 | Chrome、Safari、Firefox、Brave、Edge、Arc 等缓存 | 活跃进程、Profile 和重要状态 |
| 应用软件 | 通信、Office、媒体、设计等应用缓存 | 只处理已知目录,部分按进程状态判断 |
| 开发工具 | npm、pnpm、Go、Rust、Python、Xcode、Android、Unity 等 | 工具专用门禁与白名单 |
| 已卸载应用 | 部分孤立容器、配置与服务 | 完整应用清单、使用中的副本、共享资源 |
| 大型资源提示 | Xcode Archives、Docker、Android Images、FVM 等 | 多数仅显示审查提示 |
完整开发环境详情见 开发工具专题。
仅提示审查的资源
clean 的大文件提示中可以看到 Simulator 数据、Docker/OrbStack、Xcode Archives、模型等信息。这些行不是删除授权,也不一定参与 --dry-run 清理量统计。
外接卷专用模式
bash
mo clean --external /Volumes/ExternalDisk --dry-run1
此模式只针对指定外接卷的受支持系统元数据,不是“扫描整个硬盘、删除不常使用的文件”。目标卷必须经过真实挂载点与路径校验。没有明确需求时优先用 mo analyze /Volumes 浏览。
可能被忽略的风险
- 清理某些缓存后,首次打开工具可能变慢,或者需要重新下载依赖。
- Docker 镜像和 OrbStack 核心运行数据通常不是自动清理对象。
- Xcode DerivedData 可重建,但重建成本可能很高。
--dry-run的空间值不是实际 APFS 回收量。