侧边栏壁纸
Linux入门自学网博主等级

每日学一条Linux命令,终成Linux大神

  • 累计撰写 725 篇文章
  • 累计创建 143 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Linux lspci命令教程:深入探索Linux系统硬件信息(附案例详解和注意事项)

Linux 中的 lspci 命令是一个非常强大的工具,它用于显示当前主机的所有 PCI 总线信息,以及所有连接到这些总线上的设备的详细信息。

Linux lspci命令介绍

lspci 命令(List PCI)用于列出系统中所有PCI总线及其上的设备的信息。这个工具对于诊断硬件问题和确保所需的硬件在系统中正确安装非常有用。它可以显示设备的类型、供应商名称、设备名称、子系统供应商和设备ID等详细信息。

Linux lspci命令适用的Linux版本

lspci 命令在大多数Linux发行版中都是可用的,包括但不限于Ubuntu, Fedora, CentOS, Debian等。如果发现 lspci 命令不可用,可能需要安装 pciutils 包。对于不同的Linux发行版,安装命令会有所不同。

  • CentOS 7:
[linux@bashcommandnotfound.cn ~]$ sudo yum install pciutils
  • CentOS 8 或者使用 dnf:
[linux@bashcommandnotfound.cn ~]$ sudo dnf install pciutils

Linux lspci命令的基本语法

lspci [options]

Linux lspci命令的常用选项或参数说明

选项描述
-v显示详细的信息(冗长模式)
-vv显示非常详细的信息(更冗长)
-nn显示PCI域、总线、设备和功能编号
-k显示内核驱动程序名称和模块信息
-t以树状显示PCI设备的层次结构
-i使用指定的PCI ID数据库
-m以机器可读的格式显示输出
-b显示总线信息
-s显示特定总线和设备的信息

(这里只列出了10个选项,实际上 lspci 有更多选项,但这些是最常用的)

Linux lspci命令的实例

实例1:列出所有PCI设备

[linux@bashcommandnotfound.cn ~]$ lspci

实例2:显示详细的信息(冗长模式)

[linux@bashcommandnotfound.cn ~]$ lspci -v

实例3:以树状显示PCI设备的层次结构

[linux@bashcommandnotfound.cn ~]$ lspci -t

实例4:显示内核驱动程序名称和模块信息

[linux@bashcommandnotfound.cn ~]$ lspci -k

实例5:显示特定总线和设备的信息

假设我们想要查看总线号为 02 的设备信息:

[linux@bashcommandnotfound.cn ~]$ lspci -s 02

实例6:显示所有PCI设备的详细信息

[linux@bashcommandnotfound.cn ~]$ lspci -vv

实例7:显示特定设备的详细信息

假设我们想要详细查看总线号为 02:00.0 的设备:

[linux@bashcommandnotfound.cn ~]$ lspci -vv -s 02:00.0

实例8:显示所有设备的供应商和设备代码

[linux@bashcommandnotfound.cn ~]$ lspci -nn

实例9:显示所有USB控制器

[linux@bashcommandnotfound.cn ~]$ lspci -d ::0c03

在这个例子中,0c03 是USB控制器的类代码。

实例10:筛选并显示特定厂商的设备

[linux@bashcommandnotfound.cn ~]$ lspci -d 8086:

在这个例子中,8086 是Intel公司的厂商ID。

实例11:显示桥接设备

[linux@bashcommandnotfound.cn ~]$ lspci -d ::0604

在这个例子中,0604 是PCI桥接设备的类代码。

实例12:将输出重定向到一个文件中

[linux@bashcommandnotfound.cn ~]$ lspci -vv > lspci_output.txt

这会将 lspci 的详细输出保存到 lspci_output.txt 文件中。

实例13:使用grep与lspci结合来搜索特定设备

[linux@bashcommandnotfound.cn ~]$ lspci | grep Ethernet

这个命令会搜索并显示所有的以太网设备。

实例14:查看特定设备的内核模块和驱动信息

[linux@bashcommandnotfound.cn ~]$ lspci -k -s 02:00.0

这将显示总线号为 02:00.0 的设备的内核驱动信息。

实例15:查看PCI设备的I/O端口和内存地址

[linux@bashcommandnotfound.cn ~]$ lspci -v -s 02:00.0

这将显示设备的I/O端口和内存地址等详细信息。

高级技巧

解析 lspci 输出

使用 -vv 选项可以得到非常详细的信息,包括中断线、内存地址等。这对于高级用户寻找硬件冲突或进行系统调优非常有用。

使用 PCI ID 数据库

使用 -i 选项可以指定一个自定义的PCI ID数据库文件以便于解析最新的硬件信息,这在默认数据库不包含您的设备信息时非常有用。

Linux lspci命令的注意事项

  • 确保您有足够的权限来运行 lspci 命令,某些信息可能需要 root 权限才能查看。
  • 在使用 -vv 选项时,请注意输出可能非常长,可以使用分页工具如 less 来查看。
  • 如果遇到 bash: lspci: command not found,请根据您的Linux发行版安装 pciutils 包。
0

评论区