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
包。
评论区