Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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.

share|improve this question
up vote 81 down vote accepted

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:


    $ 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


    $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


    $ 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).


share|improve this answer
There's a need for a default graphical hardware management system similar to hardinfo... – Oxwivi Mar 23 '11 at 10:42
What about driver modules? – Oxwivi Mar 23 '11 at 10:45
@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 '11 at 10:49

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 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 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.

share|improve this answer
Great recommendations. How does hwinfo differentiate from lshw? – Oxwivi Mar 23 '11 at 10:37
Mainly by the information representation and lshw lists slightly more information. – Octavian Damiean Mar 23 '11 at 10:39
I see, then sudo lshw -short easily solves the need for info to quote in bug reports. – Oxwivi Mar 23 '11 at 10:44
How exactly is the modprobe commands used? Can you give an example of a module being loaded and disabled? – Oxwivi May 2 '11 at 9:45
That is a separate question. – Octavian Damiean May 2 '11 at 9:48

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.

share|improve this answer

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.

share|improve this answer
+1 for dmidecode. – totti Aug 20 '13 at 10:15

Device Manager from the Ubuntu Software Centre.

share|improve this answer

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
share|improve this answer

Other great tools for Ubuntu are


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.


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.


share|improve this answer
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. – matt Nov 15 '15 at 12:46
Also, it does not seem to go full screen, so the display is rather miniature and annoying. – matt Nov 15 '15 at 12:48

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.