Seeing accurate hardware details in Linux helps confirm what the kernel can actually use before capacity planning, driver troubleshooting, hardware replacement, or virtualization checks. A quick inventory also helps explain why one host behaves differently from another with different processors, storage devices, or bus controllers.
Linux exposes detected hardware through kernel interfaces such as /sys and /proc, while tools such as lshw, lscpu, lsblk, lspci, and lsusb turn that data into readable reports. Together they cover the overall system inventory, processor topology, block devices, PCI hardware, and USB devices without changing system state.
Some details require root privileges, and virtual machines or containers can show virtual hardware names, generic model strings, or missing buses instead of physical host details. Minimal images can also omit utilities such as lshw, lspci, or lsusb until the matching distro packages are installed, so blank or generic fields are often an environment clue rather than immediate hardware failure.
Steps to show hardware information in Linux:
- Open a terminal on the Linux system.
- Display a short hardware inventory with lshw.
$ sudo lshw -short H/W path Device Class Description ==================================================== system Parallels ARM Virtual Machine (Parallels_ARM_VM) /0 bus Parallels ARM Virtual Platform /0/0 memory 128KiB BIOS /0/4 processor ARMv8 /0/7 memory 4GiB System Memory /0/7/0 memory 4GiB DIMM DRAM EDO /0/5 network Virtio network device /0/8/0.0.0 /dev/sda disk 68GB Pristine-UbuntuS ##### snipped #####lshw -short is the quickest whole-system view because it groups detected hardware by class and shows the device path that the kernel is exposing.
- Check processor architecture and topology with lscpu.
$ lscpu Architecture: aarch64 CPU op-mode(s): 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Vendor ID: ARM Model name: - Thread(s) per core: 1 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 ##### snipped #####
Field names vary by architecture and virtualization layer, so some systems show Core(s) per cluster or leave Model name blank.
- List whole-disk devices and their transport with lsblk.
$ lsblk --nodeps --output NAME,MODEL,SIZE,TRAN,TYPE NAME MODEL SIZE TRAN TYPE sda Pristine-UbuntuS 64G sata disk sr0 Virtual DVD-ROM [1] 1024M sata rom
Using explicit columns keeps the output stable and avoids the default tree view when only the top-level devices are needed.
- Show detected PCI hardware with lspci.
$ lspci 00:01.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller 00:02.0 USB controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller 00:03.0 USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 04) 00:05.0 Ethernet controller: Red Hat, Inc. Virtio network device 00:0a.0 VGA compatible controller: Red Hat, Inc. Virtio 1.0 GPU (rev 01) ##### snipped #####
On physical hosts this list reflects real bus devices, while virtual machines usually show the guest-visible virtual chipset instead of the host's real motherboard devices.
- Show detected USB hardware with lsusb.
$ 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 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 003 Device 002: ID 203a:fffc PARALLELS Virtual Mouse Bus 003 Device 003: ID 203a:fffb PARALLELS Virtual Keyboard Bus 003 Device 004: ID 203a:fff9 PARALLELS FaceTime HD Camera
Headless servers and containers may show only root hubs or no useful USB devices at all, which is normal when no guest-visible controller is present.
- Sanitize identifying fields before saving or sharing a hardware report.
$ sudo lshw -sanitize -class system -class processor computer description: Computer product: Parallels ARM Virtual Machine (Parallels_ARM_VM) vendor: Parallels International GmbH. version: 0.1 serial: [REMOVED] width: 64 bits capabilities: smbios-3.6.0 dmi-3.6.0 smp cp15_barrier swp tagged_addr_disabled *-cpu description: CPU product: ARMv8 vendor: Apple ##### snipped #####The -sanitize flag removes serial numbers, UUIDs, and similar identifiers, but the report can still reveal platform, model, and bus details that may be sensitive in shared environments.
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.
