Linux 查找已安装软件命令

1次阅读

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 查找已安装软件命令

在 Linux 中查找已安装的软件,需根据发行版使用的包管理器来选择对应命令。主流系统分为基于 Debian/Ubuntu 的 apt 系统和基于 RHEL/CentOS/Fedora 的 dnfyum 系统,还有 Arch 系统的 pacman。直接使用通用命令(如 whichtype)只能查可执行文件是否存在,不能反映“是否通过包管理器安装”,所以重点看包管理层面的查询方式。

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。两者语法兼容:

  • dnf list installedyum 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 curlcommand -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
text=ZqhQzanResources