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.
The uname command has many options or switches that are quite useful when requesting information about your system’s details.
Open up your terminal and type in the command :
This will return your system’s kernel name when invoked without any option. The output is similar to the command :
The following command will print out the release of your system’s kernel:
To view your Linux kernel version information, use the ‘-v’ switch as follows:
In order to display the network hostname of your node, run the command:
The same output on Linux can also be provided using the command:
On non-Linux systems, the node and the hostname might not be the same.
To display your system’s hardware architecture, use the ‘-m’ switch as follows:
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.
To find out your processor type, use the following command:
This shows that a 64-bit processor is used.
The hardware platform information can be found using the following command:
The operating system’s name can be displayed using the command :
In order to see all the information that you displayed using each of the switches above in one command , you can rely on :
As you can see, the output displays a detailed information about the system.
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 :
Hardware information summary
The -short option would display a summary of your hardware information.
sudo lshw -short
The lshw tool gives the possibility to redirect your hardware information to an HTML file. The example command below pulls this off:
sudo lshw -html > lshw.html
Now, you should be able to view the created html file in your current folder :
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
The lscpu tool lists CPU information from the files /proc/cpuinfo and sysfs.
Where we can see information about CPU architecture, CPU family model, number of CPUs, threads, cores, CPU caches etc…
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.
The lsusb tool displays information about all USB controllers and their attached devices. Good to know what is plugged in.
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 .
To display information about the PCI devices of your system, run the command :
The following real life example provides information about graphics :
lspci -nnk | grep VGA -A1
To view audio related data, run the command below :
lspci -v | grep -A7 -i “audio”
Information about networking can be shown using the command :
lspci -nnk | grep net -A2
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 :
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.
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 :
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
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:
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.