在linux中查找已安装软件需按发行版选择包管理命令:debian/ubuntu用apt list --installed,rhel/centos/fedora用dnf list installed或yum list installed,arch用pacman -q;还可通过which定位二进制再用dpkg -s、rpm -qf或pacman -qo反查归属包。

在 Linux 中查找已安装的软件,需根据发行版使用的包管理器来选择对应命令。主流系统分为基于 Debian/Ubuntu 的 apt 系统和基于 RHEL/CentOS/Fedora 的 dnf 或 yum 系统,还有 Arch 系统的 pacman。直接使用通用命令(如 which 或 type)只能查可执行文件是否存在,不能反映“是否通过包管理器安装”,所以重点看包管理层面的查询方式。
Debian/Ubuntu 系统:用 apt list 查已安装软件
apt list --installed 是最常用的方法,列出所有通过 apt 安装的软件包。输出较长,可配合 grep 过滤:
-
apt list --installed | grep nginx—— 检查 nginx 是否已安装 -
apt list --installed | wc -l—— 统计已安装包总数 - 加
--manual-installed可只显示用户主动安装(非依赖自动安装)的包:apt list --installed --manual-installed
RHEL/CentOS/Fedora 系统:用 dnf 或 yum list installed
Fedora 和新版 CentOS Stream/RHEL 8+ 默认用 dnf;CentOS 7 及更早用 yum。两者语法兼容:
在WINDOWS下,编译时的路径是WINDOWS安装目录。 ; 在命令行模式下,PHP.INI的查找路径可以用 -C 参数替代。 ; 该文件的语法非常简单。空白字符和用分号´;´开始的行被简单地忽略(就象你可能 ; 猜到的一样)。 章节标题(例如 : [FOO])也被简单地忽略,即使将来它们可能 ; 有某种的意义。 ; ;
-
dnf list installed或yum list installed—— 列出全部已安装包 -
dnf list installed | grep httpd—— 搜索 httpd 相关包 -
dnf list installed --recent—— 查看最近安装的包(dnf 支持,yum 不支持)
Arch Linux 及衍生版:用 pacman -Q 查已安装软件
pacman -Q(Query)是 Arch 系统的标准查询命令:
-
pacman -Q—— 列出所有显式安装的包(不含依赖) -
pacman -Qe—— 只显示用户明确安装的包(排除作为依赖引入的) -
pacman -Qs keyword—— 在已安装包名和描述中搜索关键词,如pacman -Qs vim -
pacman -Qdt—— 查找孤立依赖(无其他包依赖、可能可卸载)
跨发行版辅助方法:查二进制文件 + 包归属
若只知道程序名(如 curl),但不确定是否由包管理器安装,可用以下组合定位:
-
which curl或command -v curl—— 找到可执行路径(如/usr/bin/curl) - 再反查属于哪个包:
Debian/Ubuntu:dpkg -S /usr/bin/curl
RHEL/Fedora:rpm -qf /usr/bin/curl
Arch:pacman -Qo /usr/bin/curl









