Hardware checks on a Linux host often start when a server specification, driver handoff, support ticket, or replacement plan needs proof of what the running system can see. Reading the inventory from the operating system shows the processor layout, memory, storage, PCI controllers, and USB devices that the kernel exposes, which can differ from chassis labels or a virtual machine plan.
Linux builds hardware views from sysfs, /proc, udev, firmware tables, and bus scans. lshw gives the broad inventory tree, lscpu focuses on processor topology, lsblk lists block devices, lspci reports PCI hardware, and lsusb reports USB buses and devices.
Some details need root privileges or the matching utility package. Virtual machines, containers, and cloud instances can expose guest-visible devices, blank model strings, or no useful PCI and USB buses, so treat generic names as an environment boundary before treating them as hardware failure.
Related: How to show disk information in Linux
Related: How to show memory information in Linux
Related: How to check CPU information in Linux
Related: How to show USB device details in Linux
Steps to show hardware information in Linux:
- Open a terminal on the Linux system.
- Display the short whole-system hardware inventory.
$ sudo lshw -short H/W path Device Class Description ===================================================== system Workstation /0 bus Motherboard /0/0 memory 64KiB BIOS /0/4 processor Intel(R) Core(TM) i7-13700 /0/42 memory 32GiB System Memory /0/100/1f.6 enp0s31f6 network Ethernet Connection /0/100/17 storage SATA Controller /0/100/17/0 /dev/sda disk 1TB SSD ##### snipped #####lshw reports partial data without root access on many systems. If the command is missing on a minimal install, install the lshw package with the distribution package manager.
- Check processor architecture and topology.
$ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 46 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Vendor ID: GenuineIntel Model name: Intel(R) Core(TM) i7-13700 Thread(s) per core: 2 Core(s) per socket: 8 Socket(s): 1 NUMA node(s): 1 ##### snipped #####
lscpu describes the CPU layout exposed to the running Linux environment. In guests or containers, that can differ from the physical host.
- List top-level block devices and their transport.
$ lsblk --nodeps --output NAME,MODEL,SIZE,TRAN,TYPE NAME MODEL SIZE TRAN TYPE sda Samsung SSD 870 EVO 1T sata disk nvme0n1 Samsung SSD 980 500G nvme disk sr0 DVD-ROM 1024M sata rom
Explicit lsblk columns keep the output stable and avoid the default tree view when only whole devices are needed.
Related: How to show disk information in Linux - Show detected PCI hardware.
$ lspci 00:00.0 Host bridge: Intel Corporation Device 7d01 00:02.0 VGA compatible controller: Intel Corporation Raptor Lake-S GT1 [UHD Graphics 770] 00:14.0 USB controller: Intel Corporation Alder Lake-S PCH USB 3.2 xHCI Host Controller 00:17.0 SATA controller: Intel Corporation Alder Lake-S PCH SATA Controller [AHCI Mode] 00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection I219-LM
lspci comes from the pciutils package on many distributions. Virtual machines usually show the guest chipset or Virtio devices instead of the host motherboard hardware.
- Show detected USB devices.
$ lsusb Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 046d:c534 Logitech, Inc. Unifying Receiver Bus 003 Device 003: ID 0781:5581 SanDisk Corp. Ultra Bus 003 Device 004: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
lsusb comes from the usbutils package on many distributions. Headless servers, containers, or guests without a passed-through controller may show only root hubs or no useful device list.
Related: How to show USB device details in Linux - Sanitize identifying fields before saving or sharing a hardware report.
$ sudo lshw -sanitize -class system -class processor computer description: Desktop Computer product: Workstation vendor: Dell Inc. serial: [REMOVED] width: 64 bits *-cpu description: CPU product: Intel(R) Core(TM) i7-13700 vendor: Intel Corp. physical id: 4 bus info: cpu@0 width: 64 bits ##### snipped #####-sanitize removes serial numbers, UUIDs, and network addresses from lshw output, but hardware model, platform, bus, and vendor details can still be sensitive in shared reports.
Mohd Shakir Zakaria is a cloud architect with deep roots in software development and open-source advocacy. Certified in AWS, Red Hat, VMware, ITIL, and Linux, he specializes in designing and managing robust cloud and on-premises infrastructures.