Linux如何查看已安装的所有软件?常用命令与方法详解

Linux系统中,软件安装方式因发行版和包管理器的不同而存在差异,查看已安装软件的方法也因此多样化,无论是基于Debian/Ubuntu的APT系列、RedHat/CentOS的YUM/DNF系列,还是Arch Linux的Pacman系列,亦或是第三方包管理器如Snap、Flatpak,均有对应的查询命令,本文将详细介绍不同场景下查看已安装软件的方法,并辅以示例和表格对比,帮助用户快速定位所需信息。

linux如何查看安装了哪些软件

基于Debian/Ubuntu的APT系列查询方法

Debian及其衍生版(如Ubuntu)使用APT(Advanced Packaging Tool)作为包管理器,通过apt命令结合dpkg(底层包管理工具)可全面查询已安装软件信息。

apt list --installed:列出所有已安装软件

该命令会输出系统中所有已安装软件的列表,包含包名、版本、架构、描述及来源仓库。
用法

apt list --installed

示例输出

libnginx-mod-http-geoip2/1.18.0-0ubuntu1 amd64 [installed,local]
nginx/1.18.0-0ubuntu1 amd64 [installed,local]
python3-pip/20.0.2-5ubuntu1.10 all [installed,official]

技巧:结合grep可快速筛选特定软件,如apt list --installed | grep nginx仅显示与nginx相关的包。

apt search:搜索可用软件(含已安装和未安装)

若需查询某软件是否已安装或是否存在可用版本,可使用apt search
用法

apt search 关键词

示例输出

python3-pip/focal-updates,focal-security 20.0.2-5ubuntu1.10 all
  Python package installer
python3.8-pip/focal-updates 20.0.2-5ubuntu1.10 amd64
  Python package installer for Python 3.8

输出中[installed]标记表示已安装,无标记则表示未安装。

dpkg -l:列出所有已安装包(含未配置完成的包)

dpkg是APT的底层工具,dpkg -l会显示所有已安装包的状态,包括未正确配置的包。
用法

dpkg -l

状态列说明

  • ii:已安装并正确配置(Installed and configured)
  • rc:已卸载但配置文件保留(Removed but config files kept)
    示例输出

    ii  libnginx-mod-http-geoip2  1.18.0-0ubuntu1  amd64  nginx module for GeoIP2 database lookups
    ii  nginx                    1.18.0-0ubuntu1  amd64  high performance web server

APT系列常用查询命令对比

命令 用途 示例
apt list --installed 列出所有已安装软件 apt list --installed
apt search 搜索软件(含安装状态) apt search nginx
dpkg -l 列出所有已安装包(含状态) dpkg -l | grep nginx

基于RedHat/CentOS的YUM/DNF系列查询方法

RedHat、CentOS及Fedora使用RPM包管理系统,其中CentOS 7及以下版本用yum,CentOS 8+、Fedora等用dnf(yum的下一代替代品),二者命令语法基本一致。

yum list installed(CentOS 7及以下)

列出所有已安装的RPM包,包含包名、版本、仓库来源。
用法

yum list installed

示例输出

nginx.x86_64            1.18.0-1.el7.ngx     @nginx-stable
python3-pip.noarch      9.0.3-7.el7          @base

后缀表示安装来源(如@nginx-stable为第三方仓库,@base为基础仓库)。

dnf list installed(CentOS 8+、Fedora)

功能与yum list installed相同,但依赖更高效的libsolv库。
用法

dnf list installed

示例输出

linux如何查看安装了哪些软件

nginx-1:1.18.0-1.el8.ngx.x86_64   @nginx-stable
python3-pip-20.2.4-1.el8.noarch    @appstream

yum search/dnf search:搜索软件

搜索包含关键词的软件包,显示可用版本及仓库信息。
用法

yum search 关键词  # 或 dnf search 关键词

示例输出

nginx.x86_64 : High performance web server and reverse proxy server  
nginx-all-modules.x86_64 : Metapackage for all Nginx modules  

rpm -qa:列出所有已安装RPM包

rpm是RPM系统的底层工具,rpm -qa(query all)输出所有已安装包的完整名称(包名-版本-发布.架构)。
用法

rpm -qa | sort  # 排序后输出

示例输出

nginx-1.18.0-1.el7.ngx.x86_64
python3-pip-9.0.3-7.el7.noarch

YUM/DNF系列常用查询命令对比

命令 用途 示例
yum list installed 列出已安装RPM包(CentOS 7-) yum list installed
dnf list installed 列出已安装RPM包(CentOS 8+) dnf list installed
yum search/dnf search 搜索软件包 dnf search nginx
rpm -qa 列出所有已安装包(完整名称) rpm -qa | grep nginx

基于Arch Linux的Pacman系列查询方法

Arch Linux使用Pacman作为包管理器,其设计简洁高效,查询命令也更为直观。

pacman -Q:列出所有已安装包

pacman -Q(query)输出已安装包的名称和版本,格式为“包名 版本”。
用法

pacman -Q

示例输出

nginx 1.20.1-1
python-pip 20.3.1-1

pacman -Qs:搜索已安装包

在已安装包中搜索包含关键词的包,显示包名、版本及描述。
用法

pacman -Qs 关键词

示例输出

local/nginx 1.20.1-1 [installed]
    HTTP server and reverse proxy
local/python-pip 20.3.1-1 [installed]
    A tool to install Python packages

pacman -Qi:查看包详细信息

若需获取某包的详细信息(如依赖、大小、安装时间等),使用pacman -Qi(query info)。
用法

pacman -Qi 包名

示例输出

Name            : nginx
Version         : 1.20.1-1
Description     : HTTP server and reverse proxy
Architecture    : x86_64
URL             : http://nginx.org
Licenses        : BSD
Groups          : None
Provides        : None
Depends On      : glibc libpcre openssl zlib
Required By     : None
Optional Deps  : None
Conf Files      : /etc/nginx/*

Pacman系列常用查询命令对比

命令 用途 示例
pacman -Q 列出所有已安装包 pacman -Q
pacman -Qs 搜索已安装包 pacman -Qs nginx
pacman -Qi 查看包详细信息 pacman -Qi nginx

通用查询方法(跨发行版)

若需在不依赖特定发行版包管理器的情况下查询软件,可通过底层工具或文件路径定位。

dpkg -S(Debian/Ubuntu):查找文件所属包

通过文件路径反向查询该文件属于哪个已安装包,适用于忘记包名但知道文件路径的情况。
用法

dpkg -S 文件路径

示例

dpkg -S /usr/bin/python3
# 输出:python3-minimal: /usr/bin/python3

rpm -qf(RedHat/CentOS/Fedora):查找文件所属包

dpkg -S类似,用于RPM系统中查询文件所属包。
用法

linux如何查看安装了哪些软件

rpm -qf 文件路径

示例

rpm -qf /usr/bin/python3
# 输出:python3-3.6.8-18.el8.x86_64

查看软件安装目录

Linux软件通常安装到以下目录,可通过查看目录内容判断已安装软件:

  • /usr/bin/usr/local/bin:可执行文件(用户安装软件常在/usr/local/bin
  • /usr/lib/usr/local/lib:库文件
  • /opt:部分商业软件或大型软件(如IDE、浏览器)的安装目录
    示例

    ls /usr/local/bin | grep mysql  # 查看用户安装的MySQL相关可执行文件

第三方包管理器查询方法

除发行版自带包管理器外,Snap、Flatpak等第三方工具也广泛使用,需通过对应命令查询。

Snap:snap list

Snap是Canonical开发的跨发行版包管理器,软件安装为独立“快照”。
用法

snap list

示例输出

Name        Version        Rev    Tracking       Publisher   Notes
core        16-2.53        13700  latest/stable  canonical✓  base
nginx       1.21.0-1/1.21  136    latest/stable  nginx✓      -

Publisher列的表示官方维护的Snap包。

Flatpak:flatpak list

Flatpak是另一个跨发行版工具,支持用户级和系统级安装。
用法

flatpak list --user  # 查看用户安装的Flatpak应用
flatpak list --system # 查看系统安装的Flatpak应用

示例输出

Ref                          Options
org.mozilla.firefox          stable
org.libreoffice.LibreOffice  stable

图形化工具查询

对于不习惯命令行的用户,可通过图形化工具查询已安装软件:

  • Ubuntu:软件中心(Ubuntu Software),支持搜索、查看已安装软件及卸载。
  • CentOS:Add/Remove Software(yumex图形前端),需安装yumex包后使用。
  • Arch:Octopi(Pacman图形前端),需安装octopi包后使用。

Linux查看已安装软件的方法需结合包管理器和发行版选择:

  • Debian/Ubuntu:优先用apt list --installeddpkg -l,结合apt search搜索。
  • RedHat/CentOS:用yum list installed/dnf list installedrpm -qayum search/dnf search搜索。
  • Arch:用pacman -Qpacman -Qspacman -Qi查看详情。
  • 通用方法dpkg -S/rpm -qf反向查找文件所属包,或查看/usr/bin/opt等目录。
  • 第三方工具:Snap用snap list,Flatpak用flatpak list

根据实际场景选择合适命令,可快速定位已安装软件信息。

相关问答FAQs

Q1:如何查看某个已安装软件的详细信息(如版本、依赖、安装时间)?

A:根据包管理器选择对应命令:

  • APT(Debian/Ubuntu)apt show 包名(显示仓库信息)或dpkg -l 包名(显示安装状态)。
    示例:apt show nginx
  • YUM/DNF(RedHat/CentOS)yum info 包名dnf info 包名
    示例:dnf info nginx
  • Pacman(Arch)pacman -Qi 包名
    示例:pacman -Qi nginx
  • Snapsnap info 包名
    示例:snap info nginx
  • Flatpakflatpak info 包名
    示例:flatpak info org.mozilla.firefox

Q2:如何区分系统自带的软件和用户手动安装的软件?

A:可通过安装来源、路径及包管理器标记区分:

  1. APT/YUM/DNF
    • 系统自带软件通常来自baseupdates等官方基础仓库,用户安装的可能来自第三方仓库(如epelnginx-stable)或本地编译安装。
    • 示例:apt list --installed | grep "base"筛选基础仓库软件。
  2. dpkg/rpm
    • 查看安装时间:rpm -qa --last | head -n 10(RPM系统显示最近安装的包);ls -la /var/lib/dpkg/info/(Debian/Ubuntu查看包信息文件时间)。
  3. 路径区分
    • 系统自带软件通常在/usr/bin,用户手动编译安装的软件可能在/usr/local/bin/opt
    • 示例:which nginx若输出/usr/sbin/nginx多为系统自带,/usr/local/nginx/sbin/nginx则为用户安装。
  4. Snap/Flatpak
    • 用户安装的Flatpak应用可通过flatpak list --user查看,系统级通过--system查看;Snap默认均为系统级,但可通过snap install --user安装到用户目录。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/15930.html

(0)
酷番叔酷番叔
上一篇 1天前
下一篇 1天前

相关推荐

  • 怎么安装Linux系统?超详细新手教程必看!

    准备工作(关键步骤)选择 Linux 发行版推荐新手使用:Ubuntu、Linux Mint、Fedora(访问官网下载最新 ISO 镜像),企业用户可选:CentOS Stream 或 Debian,验证镜像:下载后务必校验 SHA256 值(官方提供),避免文件损坏,硬件要求最低配置:双核 CPU、4GB……

    2025年7月24日
    1300
  • Linux运行Perl脚本难吗?

    检查Perl环境验证安装终端执行:perl -v若显示版本信息(如v5.34.0),说明已安装;若提示command not found,则需手动安装,安装PerlDebian/Ubuntu:sudo apt update && sudo apt install perlRHEL/CentOS……

    2025年7月15日
    1800
  • 网易云linux版本如何安装包

    云音乐 Linux 版本安装包可通过官网下载对应.

    2025年8月18日
    500
  • 如何安装Python3的Tkinter支持?

    在Linux系统中安装软件包通常依赖于具体的发行版和包管理器,关于您提到的”tkx”,需要明确的是:Linux官方软件仓库中没有名为”tkx”的标准软件包,这可能是以下两种情况之一:拼写错误:您可能指的是Python的Tkinter图形库(发音类似”T-K-inter”),它是Python的标准GUI工具包,特……

    2025年6月12日
    2800
  • linux服务器如何校时

    Linux 服务器上,可使用 ntpdate 命令或配置

    2025年8月18日
    600

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信