查已装软件无统一命令,需依发行版包管理器而定:red hat系用rpm/yum/dnf,debian/ubuntu系用dpkg/apt,arch系用pacman,源码安装则需手动定位路径。

查已装软件没有统一命令,得看系统用的是哪种包管理器。不同发行版安装方式不同,方法也得跟着变。
Red Hat系(CentOS、Fedora、RHEL)
这类系统主要用 rpm 和 yum(或 dnf)管理软件:
-
列出所有已装包:运行
rpm -qa -
查某个软件是否装了:比如查 nginx,用
rpm -qa | grep nginx -
用 yum 查已装包:执行
yum list installed,加| grep xxx可过滤 -
查某个包的详细信息:如
rpm -qi httpd,会显示版本、安装时间、描述等
Debian/Ubuntu系
它们依赖 dpkg 和 apt,命令更侧重状态和来源:
-
列出全部已装包:
dpkg -l或apt list --installed -
快速搜包名:如查 curl,运行
dpkg -l | grep curl(注意大小写不敏感可加-i) -
查包的详细状态:用
dpkg -s curl,能看到是否已配置、依赖是否满足 -
确认某文件属于哪个包:比如
dpkg -S /usr/bin/python3
Arch Linux 及衍生版
pacman 是核心工具,简洁高效:
-
列出所有已装包:
pacman -Q -
只看手动装的(非依赖自动装的):
pacman -Qe -
查某包是否存在及版本:如
pacman -Q firefox -
分页查看长列表:
pacman -Q | less
源码编译安装的软件怎么查?
这类没走包管理器,系统“不认账”,只能靠线索定位:
-
找可执行文件:用
which xxx或command -v xxx看是否在 PATH 里 -
全局搜索二进制:比如
find /usr/local -name "nginx" 2>/dev/null -
查进程反推:如果服务正在运行,
ps aux | grep nginx再结合ls -l /proc/PID/exe可看到真实路径 -
留意安装习惯:多数源码安装默认到
/usr/local/bin、/usr/local/sbin或自定义--prefix路径










