You're probably already familiar with the tools like lsusb, lspci, hwinfo, dmidecode, smartctl, acpi, etc., available in our GNU/Linux environments for obtaining hardware information . Information obtained by reading files in the pseudo-filesystem /proc, such as /proc/cpuinfo, is also helpful. Well, as is often the case, there are many more alternatives, such as Hwinfo, which offers not only a command-line interface (CLI) but also a fantastic graphical user interface (GUI) reminiscent of programs like AIDA64 or Everest.
But today we're going to talk about another tool called lshw, which also lists and provides information about all the hardware devices on your computer. This can be very useful for getting to know your hardware in depth and determining which drivers to install, or how to best configure a new kernel you're installing on your system, and so on. Sometimes it's simply for displaying information from sensors or system status...
It's not usually installed by default, so you must install it first before using it. The package is in the official repositories, so simply install a package called lshw with your distro's package manager. Its name, as you might guess, comes from Hardware Lister, and it's a small open-source tool for obtaining information about memory, CPU, cache, speed, networking, graphics card, I/O devices, etc. It does this by retrieving information from both /proc and the DMI table.
For its use, you can use either without options for a more generic output of information or with some other interesting options. For example, to filter by bus or device type, like the options `lshw -shot` or `lshw -businfo`, or for information about a specific device, you can use the `-class` option followed by the class. For example, for system information, `lshw -class system`, or for memory information, `lshw -class memory`. For more information, see `man lshw`.