lspci command is a standard utility on Linux and Other Unix like operating
systems. It is used to get and display information about PCI (Peripheral Component Interconnect)
buses and devices connected to a system. It is part of the pciutils
package.
Running lspci with no arguments prints a list of installed hardware. Things like your
graphics card, network adapters, and USB controllers/devices. Here are a few commonly useful variations:
lspci -k
Displays the specific Linux Kernel driver handling each PCI device.
sudo lspci -v
or sudo lspci -vvv
Displays technical specs about device capabilities, memory addresses,and IRQs.
lspci -tv
Outputs a tree-like diagram showing the hierarchy of buses, bridges, and connected devices.
lspci | grep -i [device]
Narrows output to find specific parts (e.g., lspci | grep -i vga
for graphics, or lspci | grep -i "ethernet" for network).
sudo lspci -s [bus:device.function] -vvv
Queries a specific devices's configuration to verify supported and currently active link speed and lane
widths.
01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060] (rev a1)
01:00.0 (Bus:Device.function).
VGA compatible controller .
NVIDIA Corporation GA106 [GeForce RTX 3060] .
(rev a1) .
lspci is part of the pciutils package.
You can use lsusb to get similar information on USB devices.