Probing for hardware information
Command Line – Hardware Information
A quick guide to 10 command-line tools to help you find hardware information.
If you need hardware information, where do you turn? You might have the box and a Quick Start Guide, but chances are they're lost in the back of some closet. More detailed information is probably available online but is not much use without the model number. The simplest source is your system itself, which has plenty of commands – including basic ones such as grep
and ls
– to pry out the information you need from the niche where it resides. Many echo the basic ls
command in their name, and many have two or more levels of verbosity, each one giving more detailed information than the last. But whatever the name or structure of the command, each unlocks an often untapped cache of information. Most of the time, you will want to pipe the commands through less
(adding | less
at the end of the command), and in some cases you will need to log in as root to access the information.
uname
Using uname
provides a high-level view of both the hardware and software on the system. With the -a
option, it gives the following information in this order: kernel name, host name, kernel release, kernel version (such as Debian 4.19.194-3 (2021-07-18)), hardware type, hardware architecture, and operating system. Each of these pieces of information can be displayed by itself with a specific option of its own, but because the options often have no relation to the information, it is easier to simply remember uname -a
. With no option, uname
simply lists the operating system (Figure 1).
lspci
For a brief summary of all PCI buses, type the bare command. For more detail, add a level of verbosity from -v
to -vvv
. For hexadecimal dumps, there are also four levels of detail, from -x
to -xxxx
.
A bus-specific view of information can be had with -b
and a tree view with -t
. Regular accounts can receive some information, but a full display requires root privileges (Figure 2).
lshw
While lshw
can be run as an ordinary user, it only gives detailed information when run as root. When run with root privileges, the command's default output includes information on exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, and bus speed. If you are taking a screen shot, you might want to use the --sanitize
option to conceal sensitive information such as IP addresses (Figure 3).
Buy this article as PDF
(incl. VAT)