mo uninstall:应用卸载与关联文件
这个命令先枚举应用,再建立与所选应用有关的文件清单,执行时会识别同一应用的其他安装副本和共享资源。
默认可恢复
mo uninstall 默认将删除的对象移入 macOS 废纸篓,但 --permanent 会绕过废纸篓。个人数据在默认情况下不随应用一起删除。
参数
| 参数 | 功能 |
|---|---|
--list | 只读列出已安装应用及可接受的卸载名称 |
--dry-run / -n | 预览卸载计划 |
--with-data | 初始勾选部分个人数据;仍可在预览中取消 |
--permanent | 永久删除,而非默认的废纸篓 |
--debug | 调试细节 |
--help | 帮助 |
--whitelist 不受此命令支持。卸载的数据保护与 clean 白名单是不同机制。
用法
bash
mo uninstall --list
mo uninstall
mo uninstall --dry-run "Visual Studio Code"
mo uninstall --dry-run "Xcode"
# 多应用选择支持按可识别名称输入;仍请检查预览:
mo uninstall --dry-run "App A" "App B"1
2
3
4
5
6
2
3
4
5
6
确保名称来自 --list 输出,不要仅凭猜测。
个人数据如何处理?
- 普通缓存、日志可能作为附属残留。
Application Support、Preferences、插件、帐号相关状态等个人数据默认保留。- 在卸载预览中按
D单独选择个人数据。 - 使用
--with-data也不会预先选中浏览器 Profile 和 App Group 容器。 - 其他仍在安装的同系列应用所共享的数据不会因为名字相似而直接删除。
- 卸载后扫描发现 Shell / Hook / MCP 配置残余引用时,只报告文件及行号,不修改原有配置。
开发工具场景
例如 Xcode.app 和 Xcode-beta.app 可以拥有相同 bundle ID。卸载其中一个不能自动视另一个已卸载;Mole 有针对共享 bundle 和存活安装的检查,但用户仍应仔细检查最终文件清单。
重要: 卸载 Unity 或其他 IDE 时,自己的项目、许可证和大型共享 SDK 可能具有独立价值。不应该把个人数据勾选操作当作“安全清理缓存”。
参考源码
bin/uninstall.sh · lib/uninstall/review.sh · lib/uninstall/batch.sh