lspci是linux下识别pci设备的核心命令,支持基础列表、详细信息、类型筛选、树状拓扑查看,并需pciutils工具包支持。

如果您需要在Linux系统中识别和查看PCI总线上的硬件设备,但无法通过图形界面或设备管理器获取准确信息,则可能是由于缺少命令行工具或权限配置不当。以下是识别PCI设备的多种方法:
一、使用lspci基础命令列出所有PCI设备
该方法用于快速获取系统中所有已识别PCI设备的简要列表,不依赖额外权限,适用于初步排查设备是否存在。
1、打开终端,输入以下命令:
lspci
2、观察输出内容,每行格式为
3、若输出为空或提示命令未找到,请跳转至“五、安装pciutils工具包”部分处理。
二、显示详细设备信息以识别驱动与模块
此方法可揭示设备所使用的内核驱动、可用模块、IRQ分配及内存映射等关键识别依据,需sudo权限获取完整字段。
1、执行带详细参数的命令:
sudo lspci -v
2、在输出中定位目标设备(如网卡或显卡),查找Kernel driver in use:行,其后内容即当前激活的驱动名称。
3、继续查找Kernel modules:行,该行列出系统支持但未加载的候选驱动模块。
三、按设备类型筛选并精准识别型号
当系统存在大量PCI设备时,该方法可快速聚焦特定类别(如网络控制器或显示控制器),避免人工扫描冗余信息。
1、使用grep过滤VGA或Network相关设备:
lspci | grep -E "(VGA|3D controller|Network|Ethernet)"
2、若需进一步确认硬件ID以便搜索驱动,执行:
lspci -nn | grep -i network
3、输出示例中[17cb:1101]即为厂商ID与设备ID组合,可用于精确匹配官方驱动或社区支持文档。
四、以树状结构查看PCI拓扑关系
该方法有助于识别设备物理连接层级,例如显卡是否直连根复合体、网卡是否挂载于PCIe桥下,对多GPU或扩展卡部署场景尤为关键。
1、运行树形显示命令:
lspci -t
2、解读输出中的缩进结构:每级缩进代表一个PCI桥接层级,例如-+-[0000:00]-+-00.0表示总线00上的Host bridge,其子节点为后续设备。
3、结合-l选项补充设备名称:
lspci -t -v | less
五、安装pciutils工具包以启用lspci功能
当执行lspci提示command not found时,说明pciutils软件包未安装,需根据发行版选择对应包管理器完成部署。
1、Debian/Ubuntu系统执行:
sudo apt update && sudo apt install pciutils
2、CentOS/RHEL 8及以上版本执行:
sudo dnf install pciutils
3、CentOS/RHEL 7执行:
sudo yum install pciutils
4、Arch Linux执行:
sudo pacman -S pciutils
5、openSUSE执行:
sudo zypper install pciutils
6、安装完成后验证:
lspci --version










