没有单一命令能统一检查所有软件更新,需按来源分层执行:macos用softwareupdate,homebrew用brew outdated,linux用apt/dnf/pacman,其他如mas、pip、npm等需单独调用。

在 macOS 或 Linux 系统中,没有一个单一命令能“统一检查所有软件”的更新,因为不同软件来源(系统包管理器、独立 App、Homebrew、Snap、Flatpak、手动安装程序等)各自维护更新机制。但你可以用终端分层执行几条关键命令,覆盖主流软件渠道。
检查系统自带软件更新(macOS)
macOS 的 App Store 应用和系统组件通过 softwareupdate 管理:
- 列出所有可安装的更新(含系统更新和 App Store 应用):
softwareupdate -l - 仅列出用户级应用更新(跳过 macOS 系统更新):
softwareupdate -l --product-types=application - 若想静默检查并输出简明结果,可用:
softwareupdate -l 2>/dev/null | grep -E "(\*|Title|Label)"
检查 Homebrew 安装的软件
如果你用 Homebrew 安装了命令行工具或 GUI 应用(如 brew install --cask firefox),运行:
- 更新本地公式库并检查可升级项:
brew update && brew outdated - 同时检查 cask(GUI 应用)是否过期:
brew outdated --cask - 一步列出所有可更新项(formula + cask):
brew update && { brew outdated; brew outdated --cask; } | grep -v "^$" | sort
检查 APT(Ubuntu/Debian)或 DNF(Fedora)系统包
Linux 发行版需按包管理器区分:
- Debian/Ubuntu:
sudo apt update && apt list --upgradable - Fedora(DNF):
sudo dnf check-update - Arch Linux(pacman):
sudo pacman -Syu --dry-run | grep "will be installed\|will be upgraded"(仅预览)
其他常见来源需单独处理
这些无法被通用命令覆盖,但可快速人工确认:
-
Mac App Store 应用:终端无法直接查,但可用:
mas list(需先安装 mas 工具) -
VS Code、Docker Desktop 等自更新应用:通常在菜单栏或设置中启用自动更新;终端无标准接口,但部分支持:
code --version对比官网最新版,或查看其更新日志路径 -
Python / Node.js 包:按环境检查:
pip list --outdated、npm outdated、gem outdated
把这些命令写成简单 shell 脚本,就能一键汇总主要渠道的更新状态。注意:涉及 sudo 的操作需权限,而 GUI 应用更新仍常需手动触发安装。











