Debian/Ubuntu系统用dpkg -L查看已安装deb包的文件列表,如dpkg -L nginx;RHEL/CentOS/Fedora用rpm -ql或dnf list files;Arch Linux用pacman -Ql;均需先确认包已安装。

直接用对应发行版的包管理命令查已安装包的文件列表,关键看系统类型——不是所有命令在所有系统上都可用。
Debian/Ubuntu 系统:用 dpkg -L
这是最常用的方法,只适用于已安装的 .deb 包。
- 执行 dpkg -L 软件包名,例如
dpkg -L nginx - 输出包含配置文件(如
/etc/nginx/nginx.conf)、二进制程序(如/usr/sbin/nginx)、文档和网页资源等完整路径 - 若提示“package is not installed”,先用
dpkg -l | grep 软件包名确认是否真的已安装
RHEL/CentOS/Fedora 系统:用 rpm -ql 或 yum/dnf list files
rpm 是底层工具,yum/dnf 更高层但结果一致。
- 查已安装包:运行 rpm -ql 软件包名,例如
rpm -ql httpd - 也可用 yum list files 软件包名(CentOS 7)或 dnf list files 软件包名(RHEL 8+/Fedora)
- 注意:软件包名要准确,比如
httpd不是apache2;不确定时先用rpm -qa | grep 关键词找包名
Arch Linux 及衍生版:用 pacman -Ql
专用于通过 pacman 安装的包,不支持 AUR 手动编译安装的软件。
- 执行 pacman -Ql 软件包名,例如
pacman -Ql vim - 想反查某个文件属于哪个包?用
pacman -Qo /path/to/file - 输出格式简洁,每行一个绝对路径,和 dpkg/rpm 类似
查未安装的包里有哪些文件
适用于提前了解包结构,比如准备部署前确认配置路径。
- Ubuntu/Debian:装好
apt-file(sudo apt install apt-file && sudo apt-file update),再运行apt-file list 软件包名 - RHEL/CentOS:用
rpm -qpl 包文件路径.rpm,例如rpm -qpl nginx-1.20.1-1.el8.x86_64.rpm - Arch:
repoctl listfiles 软件包名(需额外安装 repoctl)或查官网 PKGBUILD


















