linux查看已安装软件包无统一命令,需先通过dpkg --version、rpm --version等确认包管理器类型,再选用对应命令:debian/ubuntu用apt list --installed或dpkg -l,rhel/centos/fedora用rpm -qa或dnf list installed,arch用pacman -q,opensuse用zypper search --installed-only,alpine用apk info。

Linux 查看已安装软件包没有统一命令,关键得先知道系统用的是哪种包管理器,再选对应命令——用错工具,查不到是常态。
先确认你的包管理器类型
别猜,直接运行以下命令看哪个有响应: - `dpkg --version` 有输出 → Debian/Ubuntu 系(如 Ubuntu、Linux Mint) - `rpm --version` 有输出 → RHEL/CentOS/Fedora/openSUSE - `pacman --version` 有输出 → Arch/Manjaro - `zypper --version` 有输出 → openSUSE - `apk --version` 有输出 → Alpine Linux只依赖 /etc/os-release 或 which apt 容易误判,现场跑命令最可靠。
按发行版查已安装包
- **Debian/Ubuntu 系** - `apt list --installed`:推荐,带版本和源信息,适合排查来源 - `dpkg -l`:底层命令,显示状态码(`ii` 表示已安装且配置完成) - 快速过滤某软件:`apt list --installed | grep -i nginx` 或 `dpkg -l | grep '^ii' | grep -i nginx`-
RHEL/CentOS/Fedora 系
-
rpm -qa:最稳,绕过 dnf/yum 缓存,直接读 RPM 数据库 -
dnf list installed(RHEL 8+/Fedora)或yum list installed(CentOS 7):带仓库来源,但可能因元数据过期漏显 - 查最近安装的:
rpm -qa --last
-
-
Arch/Manjaro
-
pacman -Q:列出所有通过 pacman 安装的包 -
pacman -Qe:只列用户显式安装的(不含自动依赖) - 搜索关键词:
pacman -Qs vim(大小写敏感,不支持正则)
-
-
openSUSE
zypper search --installed-only
-
Alpine Linux
apk info
查不到?可能是非包管理器安装的
如果上述命令都无结果,但 `which python3` 或 `command -v curl` 能定位到程序,说明它很可能不是系统包管理器安装的: - `snap install xxx` → 查 `snap list | grep xxx` - `flatpak install xxx` → 查 `flatpak list | grep xxx` - `pip install --user xxx` → 查 `pip list | grep xxx`(注意:`--user` 安装不进系统级列表) - 源码编译(`./configure && make && sudo make install`)→ 通常装在 `/usr/local/`,包管理器完全不可见,得靠 `find /usr/local -name "*xxx*"` 或翻安装日志查某个包装了哪些文件
确认包存在后,想看它具体释放了什么: - Debian/Ubuntu:`dpkg -L nginx` - RHEL/CentOS/Fedora:`rpm -ql httpd` - Arch:`pacman -Ql vim`不复杂但容易忽略。











