Linux 命令之 - lspci
命令简介
lspci
是一个用于显示计算机中 PCI (Peripheral Component Interconnect) 总线上设备信息的命令行工具。它可以列出所有 PCI 设备及其详细配置,包括供应商 ID、设备 ID、类代码、revision等。lspci
命令对于识别硬件设备、诊断硬件问题以及配置设备驱动程序等场景非常有用。
命令格式
1 | lspci [选项] |
参数说明
命令实例
基本用法
1.列出所有 PCI 设备
1 | lspci |
这将列出系统中所有 PCI 设备的基本信息。
2.显示详细设备信息
1 | lspci -v |
这将显示所有 PCI 设备的详细配置信息。
3.显示驱动程序关联
1 | lspci -vm |
这将显示每个 PCI 设备所使用的内核驱动程序。
4.仅显示指定类型的设备
1 | lspci -i network |
这将只显示网络设备的信息。
5.仅显示特定设备的信息
1 | lspci -s 0:0.0 |
这将只显示总线 0、插槽 0 的 PCI 设备信息。
扩展用法
1.将输出保存到文件
1 | lspci -vmm > pci_devices.txt |
这将显示所有 PCI 设备的详细信息,包括关联的内核模块,并将输出保存到 pci_devices.txt
文件中。
2.与 grep 组合过滤输出
1 | lspci | grep -i nvidia |
这将仅显示与 NVIDIA 相关的 PCI 设备信息。
3.显示特定供应商的设备
1 | lspci -D 0x8086 |
这将仅显示由英特尔公司 (供应商 ID 0x8086) 生产的 PCI 设备。
高级用法
1.获取 PCI 设备的路径
1 | lspci -Dnmm | grep -i nvidia | awk '{print $1}' | xargs -I{} basename {} |
这将显示与 NVIDIA 相关的 PCI 设备的路径,例如 0000:01:00.0
。这对于识别特定设备以进行进一步配置非常有用。
2.检查 PCI 设备的电源管理状态
1 | lspci -vmms $(lspci | grep VGA | awk '{print $1}') |
这将首先获取显卡设备的 PCI 地址,然后使用该地址显示设备的详细信息,包括电源管理状态。这可用于排查显卡相关问题。
3.检查是否存在未分配驱动程序的设备
1 | if lspci -n | grep "^[^"]" > /dev/null; then |
这个脚本将检查是否存在未分配内核驱动程序的 PCI 设备。如果存在,它将打印一条警告消息。
以上是关于 lspci
命令的详细文档,包括命令简介、语法格式、参数使用说明、演示实例以及扩展和高级使用方法。lspci
命令是一个非常有用的工具,可以帮助识别和诊断硬件设备,配置设备驱动程序,排查硬件相关问题等。掌握 lspci
命令的使用方法对于运维工程师和系统管理员非常重要。