Linux Hardware Information Command Complete

Posted by Cerberus_26 on Mon, 20 May 2019 19:54:45 +0200

Navigation in this article

Hardware information

In linux system, there are many commands that can be used to query the hardware information of the host. Some commands are only for specific hardware components, such as cpu, memory and so on. Some commands can query a lot of hardware information.

This post is a brief introduction to the most commonly used commands for querying hardware information, including lscpu,hwinfo,lshw,dmidecode,lspci, etc.

1. lscpu

The lscpu command can be used to query the details of the processor's cpu by simply entering the lscpu. As shown below, it does not provide more options and functions to choose from.

  1. $ lscpu
  2. Architecture: x86_64
  3. CPU op-mode(s): 32-bit, 64-bit
  4. Byte Order: Little Endian
  5. CPU(s): 4
  6. On-line CPU(s) list: 0-3
  7. Thread(s) per core: 1
  8. Core(s) per socket: 4
  9. Socket(s): 1
  10. NUMA node(s): 1
  11. Vendor ID: GenuineIntel
  12. CPU family: 6
  13. Model: 23
  14. Stepping: 10
  15. CPU MHz: 1998.000
  16. BogoMIPS: 5302.48
  17. Virtualization: VT-x
  18. L1d cache: 32K
  19. L1i cache: 32K
  20. L2 cache: 2048K
  21. NUMA node0 CPU(s): 0-3

2. lshw - Display hardware information list

This command is widely used. It can list the parameters of many different hardware in detail or in summary according to your needs, including cpu, memory, disk, usb controller, network card, etc. lshw is essentially extracting the corresponding hardware information from different files in the / proc file directory.

  1. $ sudo lshw -short
  2.  
  3. H/W path Device Class Description
  4. ===================================================
  5. system ()
  6. /0 bus DG35EC
  7. /0/0 processor Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz
  8. /0/0/1 memory 2MiB L2 cache
  9. /0/0/3 memory 32KiB L1 cache
  10. /0/2 memory 32KiB L1 cache
  11. /0/4 memory 64KiB BIOS
  12. /0/14 memory 8GiB System Memory
  13. /0/14/0 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
  14. /0/14/1 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
  15. /0/14/2 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
  16. /0/14/3 memory 2GiB DIMM DDR2 Synchronous 667 MHz (1.5 ns)
  17. /0/100 bridge 82G35 Express DRAM Controller
  18. /0/100/2 display 82G35 Express Integrated Graphics Controller
  19. /0/100/2.1 display 82G35 Express Integrated Graphics Controller
  20. /0/100/19 eth0 network 82566DC Gigabit Network Connection
  21. /0/100/1a bus 82801H (ICH8 Family) USB UHCI Controller #4
  22. /0/100/1a.1 bus 82801H (ICH8 Family) USB UHCI Controller #5
  23. /0/100/1a.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #2
  24. /0/100/1b multimedia 82801H (ICH8 Family) HD Audio Controller
  25. /0/100/1c bridge 82801H (ICH8 Family) PCI Express Port 1
  26. /0/100/1c.1 bridge 82801H (ICH8 Family) PCI Express Port 2
  27. /0/100/1c.2 bridge 82801H (ICH8 Family) PCI Express Port 3
  28. /0/100/1c.2/0 storage JMB368 IDE controller
  29. /0/100/1d bus 82801H (ICH8 Family) USB UHCI Controller #1
  30. /0/100/1d.1 bus 82801H (ICH8 Family) USB UHCI Controller #2
  31. /0/100/1d.2 bus 82801H (ICH8 Family) USB UHCI Controller #3
  32. /0/100/1d.7 bus 82801H (ICH8 Family) USB2 EHCI Controller #1
  33. /0/100/1e bridge 82801 PCI Bridge
  34. /0/100/1e/5 bus FW322/323 [TrueFire] 1394a Controller
  35. /0/100/1f bridge 82801HB/HR (ICH8/R) LPC Interface Controller
  36. /0/100/1f.2 storage 82801H (ICH8 Family) 4 port SATA Controller [IDE mode]
  37. /0/100/1f.3 bus 82801H (ICH8 Family) SMBus Controller
  38. /0/100/1f.5 storage 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE m
  39. /0/1 scsi3 storage
  40. /0/1/0.0.0 /dev/sda disk 500GB ST3500418AS
  41. /0/1/0.0.0/1 /dev/sda1 volume 70GiB Windows NTFS volume
  42. /0/1/0.0.0/2 /dev/sda2 volume 395GiB Extended partition
  43. /0/1/0.0.0/2/5 /dev/sda5 volume 97GiB HPFS/NTFS partition
  44. /0/1/0.0.0/2/6 /dev/sda6 volume 97GiB Linux filesystem partition
  45. /0/1/0.0.0/2/7 /dev/sda7 volume 1952MiB Linux swap / Solaris partition
  46. /0/1/0.0.0/2/8 /dev/sda8 volume 198GiB Linux filesystem partition
  47. /0/3 scsi4 storage
  48. /0/3/0.0.0 /dev/cdrom disk DVD RW DRU-190A

Click on the following post to learn more about lshw.

Using lshw command to get hardware information on Linux

3. hwinfo - Hardware Information

hwinfo is also a very widely used hardware information query command, similar to lshw, which can also report hardware information of multiple components in detail or in summary, but different from lshw, it can sometimes give more information than lshw.

  1. $ hwinfo --short
  2. cpu:
  3. Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2000 MHz
  4. Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2000 MHz
  5. Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2666 MHz
  6. Intel(R) Core(TM)2 Quad CPU Q8400 @ 2.66GHz, 2666 MHz
  7. keyboard:
  8. /dev/input/event2 AT Translated Set 2 keyboard
  9. mouse:
  10. /dev/input/mice Microsoft Basic Optical Mouse v2.0
  11. graphics card:
  12. Intel 965G-1
  13. Intel 82G35 Express Integrated Graphics Controller
  14. sound:
  15. Intel 82801H (ICH8 Family) HD Audio Controller
  16. storage:
  17. Intel 82801H (ICH8 Family) 4 port SATA IDE Controller
  18. Intel 82801H (ICH8 Family) 2 port SATA IDE Controller
  19. JMicron JMB368 IDE controller
  20. network:
  21. eth0 Intel 82566DC Gigabit Network Connection
  22. network interface:
  23. eth0 Ethernet network interface
  24. lo Loopback network interface
  25. disk:
  26. /dev/sda ST3500418AS
  27. partition:
  28. /dev/sda1 Partition
  29. /dev/sda2 Partition
  30. /dev/sda5 Partition
  31. /dev/sda6 Partition
  32. /dev/sda7 Partition
  33. /dev/sda8 Partition
  34. cdrom:
  35. /dev/sr0 SONY DVD RW DRU-190A
  36. usb controller:
  37. Intel 82801H (ICH8 Family) USB UHCI Controller #4
  38. Intel 82801H (ICH8 Family) USB UHCI Controller #5
  39. Intel 82801H (ICH8 Family) USB2 EHCI Controller #2
  40. Intel 82801H (ICH8 Family) USB UHCI Controller #1
  41. Intel 82801H (ICH8 Family) USB UHCI Controller #2
  42. Intel 82801H (ICH8 Family) USB UHCI Controller #3
  43. Intel 82801H (ICH8 Family) USB2 EHCI Controller #1
  44. bios:
  45. BIOS
  46.  
  47. ... TRUNCATED ...

Click on the link below to see more information about hwinfo.

Using hwinfo command to get hardware information on Linux

4. lspci - Display pci bus related information

The lscpi command lists the information on the pci bus and all the device information connected to the pci bus, such as VGA adapters, graphics cards, network cards, usb ports, sata controllers, etc.

  1. $ lspci
  2. 00:00.0 Host bridge: Intel Corporation 82G35 Express DRAM Controller (rev 03)
  3. 00:02.0 VGA compatible controller: Intel Corporation 82G35 Express Integrated Graphics Controller (rev 03)
  4. 00:02.1 Display controller: Intel Corporation 82G35 Express Integrated Graphics Controller (rev 03)
  5. 00:19.0 Ethernet controller: Intel Corporation 82566DC Gigabit Network Connection (rev 02)
  6. 00:1a.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 02)
  7. 00:1a.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 02)
  8. 00:1a.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 02)
  9. 00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 02)
  10. 00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 02)
  11. 00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 02)
  12. 00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 02)
  13. 00:1d.0 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 02)
  14. 00:1d.1 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 02)
  15. 00:1d.2 USB controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 02)
  16. 00:1d.7 USB controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #1 (rev 02)
  17. 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev f2)
  18. 00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller (rev 02)
  19. 00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA Controller [IDE mode] (rev 02)
  20. 00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
  21. 00:1f.5 IDE interface: Intel Corporation 82801HR/HO/HH (ICH8R/DO/DH) 2 port SATA Controller [IDE mode] (rev 02)
  22. 03:00.0 IDE interface: JMicron Technology Corp. JMB368 IDE controller
  23. 04:05.0 FireWire (IEEE 1394): LSI Corporation FW322/323 [TrueFire] 1394a Controller (rev 70)

You can use the grep command to filter out specific device information.

  1. $ lspci -v | grep "VGA" -A 12

5. lsscsi - List scsi device information

List information about scsi/sata devices, such as hard disk drives and optical disk drives.

  1. $ lsscsi
  2. [3:0:0:0] disk ATA ST3500418AS CC38 /dev/sda
  3. [4:0:0:0] cd/dvd SONY DVD RW DRU-190A 1.63 /dev/sr0

6. lsusb - lists usb bus information and device information

This command can display USB controller and device information connected to the control. By default, only the outline information is displayed, which can be indicated by the - v option to display more hardware information.

  1. $ lsusb
  2. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  3. Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  4. Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  5. Bus 005 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
  6. Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  7. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
  8. Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
  9. Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

The above information shows that in this system, a usb port is being occupied by the mouse.

7. Inxi

inxi command is a large bash script file. It can get hardware information from different information sources and commands. Finally, it can give a brightly colored hardware information report that is suitable for non-professionals to read.

  1. $ inxi -Fx

8. lsblk - Lists block device information

List all block device information, including hard disk partition information, and other storage devices, such as CD, flash, etc.

  1. $ lsblk
  2. NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
  3. sda 8:0 0 465.8G 0 disk
  4. ├─sda1 8:1 0 70G 0 part
  5. ├─sda2 8:2 0 1K 0 part
  6. ├─sda5 8:5 0 97.7G 0 part /media/4668484A68483B47
  7. ├─sda6 8:6 0 97.7G 0 part /
  8. ├─sda7 8:7 0 1.9G 0 part [SWAP]
  9. └─sda8 8:8 0 198.5G 0 part /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
  10. sr0 11:0 1 1024M 0 rom

9. df - Display disk space information of file system

Report various mounted file system information, including Mount points, used and available disk space.

  1. $ df -H
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda6 104G 26G 73G 26% /
  4. none 4.1k 0 4.1k 0% /sys/fs/cgroup
  5. udev 4.2G 4.1k 4.2G 1% /dev
  6. tmpfs 837M 1.6M 835M 1% /run
  7. none 5.3M 0 5.3M 0% /run/lock
  8. none 4.2G 13M 4.2G 1% /run/shm
  9. none 105M 21k 105M 1% /run/user
  10. /dev/sda8 210G 149G 51G 75% /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
  11. /dev/sda5 105G 31G 75G 30% /media/4668484A68483B47

10. pydf - python version of df

An enhanced python version of the DF command, which can display the queried information in different colors, looks better than df.

  1. $ pydf
  2. Filesystem Size Used Avail Use% Mounted on
  3. /dev/sda6 96G 23G 68G 24.4 [#.....] /
  4. /dev/sda8 195G 138G 47G 70.6 [####..] /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1
  5. /dev/sda5 98G 28G 69G 29.2 [##....] /media/4668484A68483B47

11. fdisk

The fdisk command can be used to modify hard disk partition table information or to display hard disk partition table information.

  1. $ sudo fdisk -l
  2.  
  3. Disk /dev/sda: 500.1 GB, 500107862016 bytes
  4. 255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
  5. Units = sectors of 1 * 512 = 512 bytes
  6. Sector size (logical/physical): 512 bytes / 512 bytes
  7. I/O size (minimum/optimal): 512 bytes / 512 bytes
  8. Disk identifier: 0x30093008
  9.  
  10. Device Boot Start End Blocks Id System
  11. /dev/sda1 * 63 146801969 73400953+ 7 HPFS/NTFS/exFAT
  12. /dev/sda2 146802031 976771071 414984520+ f W95 Ext'd (LBA)
  13. /dev/sda5 146802033 351614654 102406311 7 HPFS/NTFS/exFAT
  14. /dev/sda6 351614718 556427339 102406311 83 Linux
  15. /dev/sda7 556429312 560427007 1998848 82 Linux swap / Solaris
  16. /dev/sda8 560429056 976771071 208171008 83 Linux

12. mount

The mount command can be used to mount devices, and of course it can also be used to view device mounts in the system.

  1. $ mount | column -t
  2. /dev/sda6 on / type ext4 (rw,errors=remount-ro)
  3. proc on /proc type proc (rw,noexec,nosuid,nodev)
  4. sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
  5. none on /sys/fs/cgroup type tmpfs (rw)
  6. none on /sys/fs/fuse/connections type fusectl (rw)
  7. none on /sys/kernel/debug type debugfs (rw)
  8. none on /sys/kernel/security type securityfs (rw)
  9. udev on /dev type devtmpfs (rw,mode=0755)
  10. devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
  11. tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
  12. none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
  13. none on /run/shm type tmpfs (rw,nosuid,nodev)
  14. none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
  15. none on /sys/fs/pstore type pstore (rw)
  16. /dev/sda8 on /media/13f35f59-f023-4d98-b06f-9dfaebefd6c1 type ext4 (rw,nosuid,nodev,errors=remount-ro)
  17. /dev/sda5 on /media/4668484A68483B47 type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
  18. binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
  19. systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
  20. gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,user=enlightened)

Similarly, you can use the grep command to filter out the file system information you want to see.

  1. $ mount | column -t | grep ext

13. free - View RAM information

View RAM usage in the system, including used space, unused space, and total space.

  1. $ free -m
  2. total used free shared buffers cached
  3. Mem: 7975 5865 2110 0 24 622
  4. -/+ buffers/cache: 5218 2757
  5. Swap: 1951 921 1030

14. dmidecode

Unlike other commands, the dmidecode command extracts hardware information by reading data from SMBOIS data structures (also known as DMI tables).

  1. # Display processor information
  2. $ </span><span class="kwd">sudo</span><span class="pln"> dmidecode </span><span class="pun">-</span><span class="pln">t processor</span></li><li class="L2"><span class="pln">&nbsp;</span></li><li class="L3"><span class="com">#</span> <span class="pln"> </span> <span class="pun"> Display memory information </span> </li> <li class="L4"> <span class="pln">.$ sudo dmidecode -t memory
  3.  
  4. # displaybiosinformation
  5. $ sudo dmidecode -t bios

Check the man manual for more information.

Topics: Linux network sudo Python