Lspci

lspci is a command on Unix-like operating systems that prints ("lists") detailed information about all PCI buses and devices in the system. It is based on a common portable library libpci which offers access to the PCI configuration space on a variety of operating systems.

Example usage
Example output on a Linux system:

Using,  , or   will display increasingly verbose details for all devices. option specifies the vendor and device ID of the devices to display. Note that ":" can not be omitted, while the omitted  or   indicates "any value".

If many devices are shown as unknown (e.g. "Unknown device 2830 (rev 02)"), issuing the command  will usually correct this.

lsusb
is a similar command for USB buses and devices. To make use of all the features of this program, a system needs to use Linux kernel which supports the /proc/bus/usb interface (e.g., Linux kernel 2.3.15 or newer).

Example output on a Linux system:

hwinfo
is for all the hardware. Hwinfo output reports for various computer models are collected in a public GitHub repository.

lshw
is a subset of what hwinfo presents.

Other platforms
The equivalent command for FreeBSD is. can also perform other functions such as reading and writing PCI registers. For more information, see the man page.

The HWiNFO tool, which is not related to the  tool mentioned above, can be downloaded in binary form at no cost. It is claimed to be a "Comprehensive Hardware Analysis, Monitoring and Reporting for Windows and DOS".

Similar commands

 * dmesg &mdash; prints the message buffer of the kernel.
 * uname &mdash; prints the name, version and other details about the current machine and the operating system.
 * lsscsi &mdash; prints information about mass storage devices.