Probing for hardware information


The man page for dmidecode warns that, because the command gives results quickly and securely, its output may be unreliable. Fortunately, so far as I can tell, that problem never seems to pop up, and dmidecode provides a useful summary of a system's hardware, including the serial numbers and BIOS revision. You can search for a specific piece of hardware using --string (-s) KEYWORD, --type (-t) DEVICE-TYPE, or --handler (-h) DEVICE-ID. The man page contains a list of the types of devices listed and a table of useful keywords (Figure 4).

Figure 4: Information provided by dmidecode includes a summary of the BIOS.


Modern computers depend heavily on USB devices, so it is only natural that a command was written to dig out information on them. By itself, lsusb will give a complete list of USB devices. However, with -s [[bus]:][devnum] you can display in decimal only the devices on a specified bus and/or devnum. Similarly, -d [vendor]:[product] displays in hexadecimal only the devices with the specified vendor and model ID. As root, you can also use -D DEVICE-FILE. As any account, you can use -t to display information as a tree (Figure 5).

Figure 5: Use lsusb to list USB devices.


This command displays information gathered from sysfs, /proc/cpuinfo, and architecture-specific libraries. You can run lscpu with --extended (-e) to display more detailed information (just as --verbose is used in some other hardware commands), plus --parse (-p) to optimize the formatting of the output. In addition, for even more detailed output, --out-all can be added. Depending on the options, lscpu displays as many as 13 columns of information, among them CPU, CORE, SOCKET, and ADDRESS. For virtual machines, it can also display CONFIGURED, meaning whether the virtual machine is using the CPU, and POLARIZATION, which indicates whether the virtual machine can switch the CPU dispatching mode between horizontal or vertical. Users can specify only online CPUs with --online (-b), only off-line CPUs with --offline (-c) and --extended combined, or both with --all (-a) (Figure 6).

Figure 6: For a detailed view of the CPU, use lscpu.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Command Line: System Info

    The command line provides a plethora of information that you cannot obtain from the desktop.

  • I-Nex

    I-Nex is a graphical tool that quickly gives you a detailed overview of the hardware installed in your computer.

  • Inxi

    The inxi command-line tool provides useful information from the depths of the system.

  • Command Line – Probing /proc

    The mysterious /proc virtual filesystem is a rich mine of information about everything in your system.

  • Hotplugging

    Hardware which just works is what every user wants. Current Linux distributions go a long way to fulfilling that dream. In this article, we will be investigating how the hotplug system works.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More