204

Is there any built-in software or terminal method allowing me to view the hardware profiles on my system? Windows equivalent of such a feature would be Device Manager.

0

19 Answers 19

228

There are a few options:

  • lspci will show you most of your hardware in a nice quick way. It has varying levels of verbosity so you can get more information out of it with -v and -vv flags if you want it. The -k argument is a good way to find out which kernel driver a piece of hardware is using. -nn will let you simply know the hardware ID which is great for searching.

    But it is only a very simple, quick way of getting a list of hardware. I often ask people to post the output of it here when trying to identify their wireless hardware. It's great for things like that.

    It doesn't show USB hardware other than the USB busses.

    Here are three real world examples:

    Graphics:

    $ lspci -nnk | grep VGA -A1
    03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF110 [GeForce GTX 580] [10de:1080] (rev a1)
        Kernel driver in use: nvidia
    

    Audio:

    $lspci -v | grep -A7 -i "audio"
    00:01.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Kabini HDMI/DP Audio
        Subsystem: Acer Incorporated [ALI] Device 080d
        Flags: bus master, fast devsel, latency 0, IRQ 34
        Memory at f0940000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
    
    --
    00:14.2 Audio device: Advanced Micro Devices, Inc. [AMD] FCH Azalia Controller (rev 02)
        Subsystem: Acer Incorporated [ALI] Device 080d
        Flags: bus master, slow devsel, latency 32, IRQ 35
        Memory at f0944000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: <access denied>
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
    

    Networking:

    $ lspci -nnk | grep net -A2
    00:0a.0 Ethernet controller [0200]: NVIDIA Corporation MCP79 Ethernet [10de:0ab0] (rev b1)
        Subsystem: Acer Incorporated [ALI] Device [1025:0222]
        Kernel driver in use: forcedeth
    --
    05:00.0 Ethernet controller [0200]: Atheros Communications Inc. AR242x / AR542x Wireless Network Adapter (PCI-Express) [168c:001c] (rev 01)
        Subsystem: AMBIT Microsystem Corp. AR5BXB63 802.11bg NIC [1468:0428]
        Kernel driver in use: ath5k
    
  • lsusb is like lspci but for USB devices. Similar functionality with similar verbosity options. Good if you want to know what's plugged in.

  • sudo lshw will give you a very comprehensive list of hardware and settings.

    It gives you so much information, I suggest you pipe it through less or output it to a file and open that in something you can move around in:

    sudo lshw | less
    

    Of course this is usually a lot of information. You often only need info on a small subset of your hardware and lshw will let you select a category. If you just wanted to see your network devices, for example, run this:

    sudo lshw -c network
    
  • If you want something graphical, I suggest you look at hardinfo. You'll need to install it first:

    sudo apt-get install hardinfo
    

    You then just run it from the same terminal with hardinfo. I don't know that it has a menu location by default.

    But it can give you slightly more information (boots, available kernels, etc) than the other options, as well as giving you similar lists of PCI and USB hardware like the first two commands.

    It also provides some simple benchmarking. I think the developers aim to make it a replacement for Sandra (a popular Windows hardware information gathering tool).

    It even has options to output a nice report that you can send to somebody (though it can easily be too much information).

Hardinfo

4
  • 25
    There's a need for a default graphical hardware management system similar to hardinfo...
    – Oxwivi
    Mar 23, 2011 at 10:42
  • What about driver modules?
    – Oxwivi
    Mar 23, 2011 at 10:45
  • 3
    @Oxwivi What of them? As I said lspci -k will show them, lshw shows them as a matter of course (look under the configuration=>driver stem) and hardinfo shows them when you select a device (the bottom pane in the screenshot will fill with more information for that device)
    – Oli
    Mar 23, 2011 at 10:49
  • @Oli♦ I having a laptop with build in 4G (LTE) capability, is there a way to get the imei of my device from Ubuntu? Thanks Nov 20, 2017 at 16:51
77

You can use lshw which is CLI tool:

sudo lshw

as the man page says:

lshw is a small tool to extract detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or IA-64 systems and on some PowerPC machines (PowerMac G4 is known to work).

You can also use HardInfo:

HardInfo can gather information about your system's hardware and operating system, perform benchmarks, and generate printable reports either in HTML or in plain text formats.

It can also be easily extended, for developer documentation and full source code (released under GNU GPL version 2) is available.

enter image description here

Install it by running this command:

sudo apt-get install hardinfo

or look for hardinfo in Synaptic or Software Center.

1
  • I remember my graphics card is GTX450 or GTS450. I want to check by hardinfo.Why I can't see this by hardinfo on ubuntu 10.10?
    – sam
    Sep 25, 2011 at 10:32
25

There are several ways to gather hardware information. I will post all the possibilities I know. For further information on any of the programs please consult their man pages.


Option one - lshw

lshw which should be installed by default. You'll have to run it as super user (sudo).

It will present a very detailed list of pretty much every component. To get a shorter list representation you can use the -short flag.

You can make it output the information in several ways.


Option two - hwinfo (needs install)

hwinfo which you'd have to install. It is in the repositories.

It does also present the components in a very detailed fashion. Here the --short flag will give you a nice hardware category sorted list.

With the --[hwtype] option you can get detailed information about a selected hardware type only, which is quite handy sometimes.


I don't know of any one-in-all solution to dis/enable hardware or drivers. Drivers generally are kernel modules which you can enable (add) and disable (remove) using the modprobe command.

Using lsmod you can find out which modules are currently loaded.

7
  • 1
    Great recommendations. How does hwinfo differentiate from lshw?
    – Oxwivi
    Mar 23, 2011 at 10:37
  • Mainly by the information representation and lshw lists slightly more information. Mar 23, 2011 at 10:39
  • 2
    I see, then sudo lshw -short easily solves the need for info to quote in bug reports.
    – Oxwivi
    Mar 23, 2011 at 10:44
  • 1
    That is a separate question. May 2, 2011 at 9:48
  • 1
    Yes you violated one of the most important rules. One question per post. This question is very good for providing information on how to obtain information about your system. If you really want to know how to modify modules then ask a separate question please. May 2, 2011 at 9:56
22

lshw is a very good command that tells you a very detailed information of your hardware. If you don't want to install something else like hardinfo then it will be very good command. But use lshw (you can say list hardware to remember this command) with -html or -xml options to get the information in more interactive way.

Here it illustrates

    $ sudo lshw | less (or more)
    $ sudo lshw -html > myhardware.html
    $ sudo lshw -xml > myhardware.xml

Now just open .html or .xml files created in your current directory to get a complete description of your hardware.

16

NeoFetch is a nice command line solution for high level information (if running Ubuntu 14.04 or higher).

To install you need to add the PPA first:

sudo add-apt-repository ppa:dawidd0811/neofetch

Then install:

sudo apt update && sudo apt install neofetch

Then run:

neofetch

enter image description here

Update:

neofetch is available in the Universe repository since 18.04.

A convenient way to present neofetch data is to use neofetch --stdout. This command produces output in plain text that can be copy/pasted into a question or answer here without needing to upload an image.

$ neofetch --stdout
dkb@kububb                                                                                                                                        
------------                                                                                                                                        
OS: Ubuntu 18.04.2 LTS x86_64                                                                                                                       
Host: Inspiron 15-3567                                                                                                                              
Kernel: 4.15.0-48-generic                                                                                                                           
Uptime: 3 hours, 12 mins                                                                                                                            
Packages: 2352                                                                                                                                      
Shell: bash 4.4.19                                                                                                                                  
Resolution: 1366x768                                                                                                                                
DE: KDE                                                                                                                                             
WM: KWin                                                                                                                                            
WM Theme: Breeze                                                                                                                                    
Theme: Breeze Dark [KDE], MyBreeze-Dark [GTK2/3]                                                                                                    
Icons: Breeze-dark [KDE], Breeze [GTK2/3]                                                                                                           
Terminal: konsole                                                                                                                                   
Terminal Font: Hack 11                                                                                                                              
CPU: Intel i3-6006U (2) @ 2.000GHz                                                                                                                  
GPU: Intel HD Graphics 520                                                                                                                          
Memory: 1435MiB / 7846MiB                                                                                                                           
$                                                                                                                                        

              
0
15

lspci - PCI hardware

lsusb, lspcmcia, lshw, lshw-gtk

dmidecode -information about your system's hardware as described in system BIOS

kinfocenter

cat /proc/cpuinfo

10

lshw is the command, you can grep also, lshw | grep audio for example.

I don't know how you can view it in the GUI.

9

20.04 and later

In Ubuntu 20.04 and later install System Profiler (sudo apt install hardinfo).

HardInfo is a small application that displays information about your hardware and operating system. Currently it knows about PCI, ISA PnP, USB, IDE, SCSI, Serial and parallel port devices.

enter image description here

18.04 and earlier

Install Sysinfo (sudo apt install sysinfo) from the default Ubuntu repositories in Ubuntu 18.04 and earlier. Sysinfo is a graphical tool that is able to display some hardware and software information about the computer it is run on.

It is able to recognize information about:

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

enter image description here

0
8

HardwareLiSter is a useful tool that can show you detailed info on all the hardware on your system in a nice GUI interface.

If you prefer to use a terminal try sudo dmidecode which will give you a very detailed list of all the hardware too.

0
7

Other great tools for Ubuntu are

i-nex

enter image description here

I-Nex is free system info tool which is used to gather information on the main system components (devices) such as CPU, motherboard, memory, video memory, sound, USB devices and so on. The application allows through a tabbed clear interface to display information about the system hardware, this utility displays significant amount of system details. I-Nex utility continues to add new functionality, this time I-Nex included GPU information tab, and other various fixes. Besides being able to display hardware information, I-Nex can also generate an advanced report for which you can select what to include and optionally send the report to a service such as Pastebin (and others). It also features an option to take a screenshot of the I-Nex window directly from the application. The difference between I-Nex and the other hardware information GUI tools available for Linux is that the information is better organized and is displayed faster (than lshw-gtk for instance). Also, the hardware information is presented in a way that's easier to understand than other such tools.

cpu-g

enter image description here CPU-G is useful utility to show hardware information. It detects hardware and display details about everything, it shows information about CPU(Processor), RAM(Active/Inactive, Free, Used and cached), Motherboard and Chipset, Bios Details, Graphic card details, and details of installed Linux.

SOURCE http://www.noobslab.com/2014/01/cpuz-alternatives-inex-cpug-for-ubuntu.html

3
  • 1
    This is nice but the current installation package is broken. Need to replace the contents of /var/lib/dpkg/info/i-nex.postinst with exit 0 to get through it alive.
    – matanox
    Nov 15, 2015 at 12:46
  • 1
    Also, it does not seem to go full screen, so the display is rather miniature and annoying.
    – matanox
    Nov 15, 2015 at 12:48
  • So far, the i-nex is the best option I've seeon on Ubuntu. Works great on 16.04 and does exactly what I would expect it to do. I have uninstalled tried other options (hardinfo, hwinfo), but removed them after trying i-nex. This should have been one of the top answers. Thank you! Oct 31, 2018 at 20:20
6

from the terminal:

sudo lshw

from the gui you'll need to install gnome-device-manager

5

Device Manager from the Ubuntu Software Centre.

5

Add some detail:

  • lscpu display information on CPU architecture
  • lsblk list block devices
  • sudo lshw -short | grep -i "system memory" list system memory

Just type ls and use tab to get prompt.

1
  • with lshw you can use lshw -C memory - more info here
    – Wilf
    Jul 29, 2015 at 13:02
4

The Universe repository on Ubuntu 14.04 and later contains a Bash script named inxi in package with same name. At least Xubuntu 16.04 has it installed by default. You can control its output via options. See man inxi. E.g. inxi -v 2 shows information in verbosity level 2; levels 0-7 are supported.

4

I wrote a shell script to gather all possible hardware details on Linux systems, including Ubuntu, using native commands. Anyone interested can view and download the script from: A simple shell script to get hardware info from a Linux box.

This script fetches the following details:

  • Operating system (Linux) release version, kernel version, uptime details, etc.
  • System (server) vendor, serial number, etc.
  • Server mainboard details
  • Server BIOS at a glance
  • Server processor details
  • Server physical memory (RAM) details
  • PCI devices/controllers at a glance
  • Hard disk drive details
  • Network hardware info

**** Update as of 1/12/2019 *****

This script is available as an RPM now, which can be downloaded from this blog site page: https://www.simplylinuxfaq.com/p/how-to-find-hardware-details-in-linux.html

3

Is there a single utility to monitor most hardware's working status? Just like some software in Windows?

If you search for "system testing" in dash you will see a program that will check an insane amount of features. The 2nd image shows it will check suspend, power management, audio, usb, graphics, mediacards, dvd drives and much more.

If something is wrong related to a device it will inform you of it. A simple search on AU or posting a question specific to a problem shown at the results page should help investigate the related problem.

enter image description here

enter image description here

2

hw-probe tool: https://github.com/linuxhw/hw-probe

The tool creates a probe of the computer including outputs of hardware listers (hwinfo, dmidecode, biosdecode, etc.), several Linux diagnostics tools (smartctl, memtester, etc.) and system logs (dmesg, Xorg.log, etc.).

Probe example: https://linux-hardware.org/?probe=0b29192f95

enter image description here

I'm the author of this project, so feel free to ask any questions in comments!

2

neofetch has already been mentioned but there is also screenfetch which provides even more information when you open your terminal after you put the command in your ~/.bashrc file:

Terminal Splash Screen

My terminal splash screen contains four components:

  • Weather
  • Calendar
  • Time (when terminal was opened)
  • screenfetch the system information utility

You can find details for doing this yourself in this answer:

0

For my Acer Travelmate-P243-M, the following works well:

$ lspci -vv

However, there are many other options beautifully presented here: https://www.binarytides.com/linux-commands-hardware-info/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .