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.
19 Answers
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 likelspci
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).
-
25There's a need for a default graphical hardware management system similar to
hardinfo
...– OxwiviMar 23, 2011 at 10:42 -
-
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) andhardinfo
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
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.
Install it by running this command:
sudo apt-get install hardinfo
or look for hardinfo in Synaptic or Software Center.
-
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?– samSep 25, 2011 at 10:32
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.
-
1
-
Mainly by the information representation and
lshw
lists slightly more information. Mar 23, 2011 at 10:39 -
2I see, then
sudo lshw -short
easily solves the need for info to quote in bug reports.– OxwiviMar 23, 2011 at 10:44 -
1
-
1Yes 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
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.
lspci
- PCI hardware
lsusb, lspcmcia, lshw, lshw-gtk
dmidecode
-information about your system's hardware as described in system BIOS
kinfocenter
cat /proc/cpuinfo
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
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
$
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.
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.
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
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.
Other great tools for Ubuntu are
i-nex
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
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
-
1This is nice but the current installation package is broken. Need to replace the contents of
/var/lib/dpkg/info/i-nex.postinst
withexit 0
to get through it alive. Nov 15, 2015 at 12:46 -
1Also, it does not seem to go full screen, so the display is rather miniature and annoying. 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 tryingi-nex
. This should have been one of the top answers. Thank you! Oct 31, 2018 at 20:20
from the terminal:
sudo lshw
from the gui you'll need to install gnome-device-manager
Add some detail:
lscpu
display information on CPU architecturelsblk
list block devicessudo lshw -short | grep -i "system memory"
list system memory
Just type ls
and use tab
to get prompt.
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.
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
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.
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
I'm the author of this project, so feel free to ask any questions in comments!
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:
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:
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/