How to view your Linux software and hardware details using the terminal

Sometimes a software installation requires you to check your Linux system details, such as the architecture, the devices, the version as well as the hardware specification for compatibility reasons.
Fortunately Linux has many built-in and free utilities that help you look up this information.

In this tutorial we will cover some of these tools that are command line or GUI based so that you will be properly equipped in case need be.

Using uname command: System’s details(kernel, release…)

The uname command has many options or switches that are quite useful when requesting information about your system’s details.

Linux Kernel Name

Open up your terminal and type in the command :

uname

uname command

This will return your system’s kernel name when invoked without any option. The output is similar to the command :

uname -s

Linux Kernel Release

The following command will print out the release of your system’s kernel:

uname -r

Linux kernel version

To view your Linux kernel version information, use the ‘-v’ switch as follows:

uname -v

Network Node Hostname

In order to display the network hostname of your node, run the command:

uname -n

The same output on Linux can also be provided using the command:

uname –nodename

On non-Linux systems, the node and the hostname might not be the same.

Machine Hardware Architecture

To display your system’s hardware architecture, use the ‘-m’ switch as follows:

uname -m

The value x86_64 indicates a 64-bit architecture. For more on how to know whether you have a 32 or 64 architecture, read our article here.

Processor Type

To find out your processor type, use the following command:

uname -p

This shows that a 64-bit processor is used.

Hardware Platform

The hardware platform information can be found using the following command:

uname -i

Operating System

The operating system’s name can be displayed using the command :

name -o

All system information

In order to see all the information that you displayed using each of the switches above in one command , you can rely on :

uname -a

As you can see, the output displays a detailed information about the system.

Using command lshw: Hardware information

The command lshw (List Hardware) is another popular tool that provides detailed information about the hardware specification of the computer. The command lshw reads several files in the directory /proc and displays the information to the user.

The lshw utility however needs root access to output the information. It can show Motherboard and RAM configuration, Firmware version, cache configuration, CPU info, bus speed, etc. It is already installed by default in most Linux distros.

Running the command lswh as shown below would result in the following data :

sudo lshw

Hardware information summary

The -short option would display a summary of your hardware information.

sudo lshw -short

Reporting hardware data

The lshw tool gives the possibility to redirect your hardware information to an HTML file. The example command below pulls this off:

Example :

sudo lshw -html > lshw.html

Now, you should be able to view the created html file in your current folder :

Network

lshw usually displays a lot of information. Oftentimes, you only need information about a hardware device and lshw will give you the possibility to select a category. To see your network devices, for instance, run the command:

sudo lshw -c network

Using command lscpu: CPU information

The lscpu tool lists CPU information from the files /proc/cpuinfo and sysfs.

lscpu

Where we can see information about CPU architecture, CPU family model, number of CPUs, threads, cores, CPU caches etc…

Using lsblk command : Basic storage devices

The lsblk command provides detailed information about basic storage devices of a system such as the hard drive and its partitions as well as the connected flash drives.

lsblk

Using command lsusb: USB device information

The lsusb tool displays information about all USB controllers and their attached devices. Good to know what is plugged in.

lsusb

Using command lspci: PCI devices and hardware list

The command lspci tool displays most of the hardware in a quick and tidy way. It has different levels of verbosity allowing you to get additional information using -v and -vv flags. The -k switch comes in handy when you want to check which kernel driver a given hardware is using.
The -nn switch provides you with the hardware ID which is sometimes convenient .

PCI devices

To display information about the PCI devices of your system, run the command :

lspci

Graphics

The following real life example provides information about graphics :

lspci -nnk | grep VGA -A1

Audio

To view audio related data, run the command below :

lspci -v | grep -A7 -i “audio”

Networking

Information about networking can be shown using the command :

lspci -nnk | grep net -A2

Using Hardinfo graphical tool

To install hardinfo GUI utility, you would first need to install it using :

sudo apt-get install hardinfo

Once this is finished, you just run it from the terminal with the command :

hardinfo

This will provide you with more detailed information (available kernels, linux os info, boots etc) than the aforementioned options above, as well as showing similar lists of USB hardware and PCI. It even has the ability to perform benchmarks and generate a report that you can send in case need be.


Using dmidecode tool: System’s hardware

dmidecode (Desktop Management Interface table decoder), retrieves data from DMI table ( also known as SMBIOS) and produces it in a human readable format.
It displays Ubuntu hardware info such as BIOS details, Processor, RAM(DIMMs), Memory, BIOS detail, Serial numbers etc…

Run the following command in your terminal :

dmidecode

Using i-nex tool

I-Nex is used to display information on system components (devices) such as motherboard, CPU, memory, sound, video memory USB devices etc…

It can be installed using the following set of commands:

sudo add-apt-repository ppa:i-nex-development-team/daily
sudo add-apt-repository ppa:gambas-team/gambas3
sudo apt-get update
sudo apt-get install i-nex

Using sysinfo : linux hardware information

Sysinfo is a graphical utility that is able to gather some software and hardware information about the system. It is able to display information about:

  • System (Linux distribution release, kernel, gcc, versions of GNOME , Xorg and hostname)
  • CPU ( model name,vendor identification, frequency, bogomips,level2 cache, model numbers , flags…)
  • Memory ( RAM, free memory, total and free swap space, active, inactive and cached memory)
  • Storage (IDE interface, SCSI devices, all IDE devices)
  • Hardware ( graphic card, motherboard, sound card and network devices)
  • NVIDIA graphic card: In case NVIDIA display driver is installed

It can be installed using the command :

sudo apt-get install sysinfo

and then invoke:

sysinfo

Conclusion

You have seen several tools and commands that can provide you with detailed and summarized information about your system’s software and hardware devices.
This can be useful for monitoring purposes. For more on Linux monitoring tools , refer to our article here.
If you know other utilities, do not hesitate to mention them in the comments.

amin nahdy

Amin Nahdy, an aspiring software engineer and a computer geek by nature as well as an avid Ubuntu and open source user. He is interested in information technology especially Linux based ecosystem as well as Windows and MacOS. He loves to share and disseminate knowledge to others in a transparent and responsible way.

Leave a Reply

Close Menu