How to use lspci, lsscsi, lsusb, and lsblk to get Linux system devices information

There are many utilities available to check Linux system hardware information. Some commands report altogether like CPU, Processor, memory, storage, disk, etc,. and the rest will cover only specific hardware components like CPU or processor or memory, etc,.

In this tutorial we are going to cover about Linux System Devices Information utilities such as lspci, lsscsi, lsusb, and lsblk.

  • lspci: List PCI Bus Devices
  • lsscsi: List scsi Devices
  • lsusb: List USB buses and device
  • lsblk: List block devices

This tutorial takes a quick look at some of the most commonly used commands to check information and configuration details about various hardware devices.

1) What’s lspci – List PCI Bus Devices

lspci stands for list PCI devices. lspci command is used to display information about PCI buses in the system and hardware devices that are connected to PCI and PCI bus.

It will display information about model number/chip details for devices like PCI bridge, VGA controller, Ethernet controller, USB controller, Audio device, IDE interface, etc,.,

lspci doesn’t come stand alone utility and its part of the pciutils package.

By default, it shows a brief list of devices which are attached in the system, so filter out specific device information with grep for better view.

How to install lspci

pciutils is available in distribution official repository so, we can easily install through distribution package manager.

For Debian/Ubuntu, use apt-get command or apt command to install pciutils.

$ sudo apt install pciutils

For RHEL/CentOS, use YUM Command to install pciutils.

$ sudo yum install pciutils

For Fedora, use dnf command to install pciutils.

$ sudo dnf install pciutils

For Arch Linux, use pacman command to install pciutils.

$ sudo pacman -S pciutils

For openSUSE, use Zypper Command to install pciutils.

$ sudo pacman -S pciutils

lspci Usage

Just run the following command to get the PCI device information.

# lspci
00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE interface: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
00:04.0 System peripheral: InnoTek Systemberatung GmbH VirtualBox Guest Service
00:05.0 Multimedia audio controller: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)
00:06.0 USB controller: Apple Inc. KeyLargo/Intrepid USB
00:07.0 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0b.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller
00:0d.0 SATA controller: Intel Corporation 82801HM/HEM (ICH8M/ICH8M-E) SATA Controller [AHCI mode] (rev 02)

To display the detailed information of all the PCI devices

# lspci -v

To display the subsystem information.

# lspci -m

2) What’s lsscsi – List scsi Devices

lsscsi stands for list small Computer System Interface. The lsscsi command lists information about SCSI/Sata devices attached to the system.

It scans the sysfs (mounted at /sys) pseudo file system to gather information, which was introduced in the 2.6 Linux kernel series.

How to install lsscsi

lsscsi is available in distribution official repository so, we can easily install through distribution package manager.

For Debian/Ubuntu, use apt-get command or apt command to install lsscsi.

$ sudo apt install lsscsi

For RHEL/CentOS, use YUM command to install lsscsi.

$ sudo yum install lsscsi

For Fedora, use dnf command to install lsscsi.

$ sudo dnf install lsscsi

For Arch Linux, use pacman command to install lsscsi.

$ sudo pacman -S lsscsi

For openSUSE, use Zypper Command to install lsscsi.

$ sudo pacman -S lsscsi

lspci Usage

Just run the following command to get the SCSI device information.

# lsscsi
[0:2:0:0]    disk    IBM      ServeRAID M5110e 3.24  /dev/sda
[0:2:1:0]    disk    IBM      ServeRAID M5110e 3.24  /dev/sdb
[2:0:0:0]    cd/dvd  IBM SATA  DEVICE 62F2642  SA82  /dev/sr0

3) What’s lsusb – List USB buses and device

lsusb stands for list Universal Serial Bus or USB. It’s display information about USB buses in the system and the devices connected to them. This will display a list of all USB devices connected to your computer such as keyboards, mouse, printers, disk drives, network adapters, etc.,.

lsusb doesn’t come stand alone utility and its part of the usbutils package.

How to install lsusb

lsusb is available in distribution official repository so, we can easily install through distribution package manager.

For Debian/Ubuntu, use apt-get command or apt command to install lsusb.

$ sudo apt install usbutils

For RHEL/CentOS, use YUM command to install lsusb.

$ sudo yum install usbutils

For Fedora, use dnf command to install lsusb.

$ sudo dnf install usbutils

For Arch Linux, use pacman command to install lsusb.

$ sudo pacman -S usbutils

For openSUSE, use Zypper Command to install lsusb.

$ sudo pacman -S usbutils

lsusb Usage

Just run the following command to get the USB device information.

# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 003: ID ffff:0248
Bus 002 Device 005: ID 04b3:4010 IBM Corp.

Details:

  • Bus 002: Which bus the device is attached
  • Device 005: It’s attached as fifth device
  • ID 04b3:4010: It’s device identification number
  • IBM Corp: Manufacture Name

4) What’s lsblk – List block devices

lsblk stands for list block devices. It’s display information about block devices (except RAM disks). Block devices are hard disk partition, flash drives, CD-ROM, optical drives, etc,.

lsblk is part of the util-linux package. It’s collection of basic system utilities that contains a large variety of low-level system utilities that are necessary for a Linux system to function.

How to install lsblk

lsblk is available in distribution official repository so, we can easily install through distribution package manager.

For Debian/Ubuntu, use apt-get command or apt command to install lsblk.

$ sudo apt install util-linux

For RHEL/CentOS, use YUM command to install lsblk.

$ sudo yum install util-linux-ng

For Fedora, use dnf command to install lsblk.

$ sudo dnf install util-linux-ng

For Arch Linux, use pacman command to install lsblk.

$ sudo pacman -S util-linux

For openSUSE, use Zypper Command to install lsblk.

$ sudo zypper util-linux

lsblk Usage

Just run the following command to get the block device information.

# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 81.4M  1 loop /snap/core/2898
loop1    7:1    0  8.4M  1 loop /snap/gping/13
sda      8:0    0   30G  0 disk 
└─sda1   8:1    0   30G  0 part /
sr0     11:0    1 1024M  0 rom  

Details:

  • NAME: Device Name listed here
  • MAJ:MIN: Shows major and minor device number
  • RM: Shows whether the device is removable or not
  • SIZE: Dispaly size of the device
  • RO: Display if the device is read-only
  • TYPE: Display about device type such as disk, partition, lvm, etc.,
  • MOUNTPOINT: Dispaly where the device is mounted

To List Device Permissions and Owner information.

# lsblk -m

One Comment on “How to use lspci, lsscsi, lsusb, and lsblk to get Linux system devices information”

Leave a Reply

Your email address will not be published. Required fields are marked *