目标

清理已卸载软件的残留文件——GUI 中不明显、但仍占空间或有持久化痕迹的垃圾,同时不影响正在使用的软件。

约束

  • 不动 DownloadsDesktopDocuments
  • 不删除正在使用的软件主数据;优先清理残留、缓存、日志、安装包工件、失效启动项
  • 先出审批表,确认后再执行删除

扫描范围

用户级

路径说明
~/Library/ContainersGroup ContainersApplication ScriptsApp 沙盒数据
~/Library/Application SupportPreferencesCachesApp 配置与缓存
~/Library/WebKitHTTPStoragesSaved Application StateBiome系统级 App 痕迹
~/.cache/重点:大型工具运行时/编译缓存
~/.config/重点:XDG 规范工具配置,卸载后常残留
~/.local/share/重点:XDG 数据目录
~/(根目录隐藏 dotfiles)重点:.android.putty 等工具遗留

系统级

路径说明
/Library/LaunchAgentsLaunchDaemonsPrivilegedHelperTools后台服务与开机启动项
/Library/ExtensionsSystemExtensions内核扩展
/Library/Application SupportPreferences系统级 App 配置

Homebrew

路径说明
/opt/homebrew/Caskroom/检查多版本遗留及孤儿条目
~/Library/Caches/Homebrew/downloads/安装包缓存

交叉验证逻辑

  1. ls /Applications ~/Applications + brew list --cask 建立已安装 App 清单
  2. 扫描上述路径时,对每条记录比对清单:找不到对应 App 的即为候选残留
  3. 对模糊项(系统框架插件、SDK 组件)用 mdfind / kextstat 确认后再归类

审批表格式

A 类——已卸载应用真实残留

编号路径大小来源 App风险是否影响在用软件

B 类——可再生大型缓存

在用 App 产生、删后可自动重建。

编号路径大小用途清理方式风险

C 类——后台持久化审查

LaunchAgent / Daemon / PrivilegedHelper。

编号路径对应 AppKeepAliveRunAtLoad建议

执行要求

  • 非 sudo 项:确认后直接执行
  • 需要 sudo 的项:以 ! sudo <命令> 格式提供,在对话框内粘贴执行
  • 删除完成后给出"清理前 → 清理后"磁盘可用空间对比及各类合计释放量

实用命令速查

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
# 查看已安装的 Cask
brew list --cask

# 查找某个 App 的所有残留文件
mdfind "kMDItemDisplayName == 'AppName'" | grep -i appname

# 查看磁盘可用空间
df -h /

# 查看 LaunchDaemons 中的第三方项
ls /Library/LaunchDaemons/ | grep -v com.apple

# 查看 LaunchAgents 中的第三方项
ls /Library/LaunchAgents/ | grep -v com.apple

# 查看 Homebrew 下载缓存大小
du -sh ~/Library/Caches/Homebrew/downloads/