最可靠方法是用 mdfind "kMDItemKind == 'Application'" 全盘扫描所有.app路径,再补查 brew list --cask、mas list 和 pkgutil + lsbom 获取 Homebrew Cask、App Store 及 pkg 安装的 GUI 应用。

你想在 macOS 终端里一次性列出所有已安装的图形界面应用程序(.app),但只靠 ls /Applications 会漏掉用户级应用、隐藏路径应用、Spotlight 未索引应用,甚至 Homebrew Cask 或 pkg 安装的 GUI 工具——这些都不会出现在标准目录里,必须用更底层的扫描机制才能捕获。
用 mdfind 全盘扫描所有 .app 实例
这是最接近“真实全量”的方法,不依赖目录结构,而是调用 Spotlight 的元数据索引引擎,穿透 /Applications、~/Applications、/System/Applications、甚至挂载卷或自定义路径里的 .app 包。
打开终端,直接运行:mdfind "kMDItemKind == 'Application'"
这条命令会输出每一条匹配的完整路径,例如 /Applications/Safari.app、/Users/john/Library/PreferencePanes/Boom.prefPane(注意:prefPane 也被识别为 Application 类型)。如果返回为空,说明 Spotlight 索引损坏或禁用,先执行 mdutil -i on / 启用并重建索引。
若只想看干净的应用名(去掉路径和版本干扰),用这行导出到桌面纯列表:mdfind "kMDItemKind == 'Application'" | sed 's/\.app.*$/.app/' | sort -u > ~/Desktop/app_names.txt
补全 Homebrew Cask 和 App Store 安装项
Homebrew Cask 和 App Store 安装的 GUI 应用常不生成标准 .app 路径,或路径不在 Spotlight 默认扫描范围内,系统报告也可能不显示它们。必须单独调用对应包管理器查询。
方法一:查 Homebrew Cask 已安装图形应用
运行 brew list --cask。这会列出所有通过 brew install --cask 安装的 .app,比如 rectangle、visualstudiocode、1password。
方法二:查 App Store 已购/已安装应用
需先安装 mas 工具:brew install mas,再登录:mas signin your@apple.com,最后执行:mas list。它返回的是 App Store 后台记录的 ID + 名称 + 版本,和系统报告不重叠。
【注意】mas list 只显示你当前 Apple ID 账户下购买或下载过的应用,不包括他人账户安装、或离线安装后未同步的项目。
解析 pkg 安装器部署的 GUI 应用
某些企业软件、驱动、开发工具(如 Oracle JDK、VMware Fusion、Parallels Desktop)是通过 .pkg 安装器部署的,它们可能不生成 .app,或把 .app 放在非标准位置(如 /Library/Application Support/xxx/xxx.app),也不会被 mdfind 扫到。
第一步:列出所有已注册 pkg 包 ID
运行:pkgutil --pkgs
第二步:筛选含 GUI 关键词的包名
例如查 Zoom:pkgutil --pkgs | grep -i zoom,得到类似 com.zoom.pkg.Zoomus 的 ID。
第三步:确认该 pkg 是否安装了 .app
执行:lsbom /private/var/db/receipts/com.zoom.pkg.Zoomus.bom 2>/dev/null | grep "\.app/"。如果有输出,说明它确实部署了 .app,路径就藏在这份 BOM 文件里。

















