如何通过命令行显示Linux硬件信息

时间:2020-03-05 15:26:43  来源:igfitidea点击:

当用户在Linux系统上工作时,在某些情况下,用户需要在操作系统下知道有关硬件的信息。
这有助于我们安装适应系统硬件组件的兼容应用程序和实用程序。

本教程将通过许多实用程序,详细说明如何获取Linux硬件信息。

1. LSHW.

LSHW代表列表硬件。
它收集系统上硬件的详细信息。
LSHW可以向我们展示主板,CPU信息,总线速度和固件版本的名称。
要显示所有硬件组件的信息,请运行:

$sudo lshw

如果要缩短结果,请使用-short选项运行命令:

$sudo lshw -short

我们将收到Linux系统上的硬件组件简要列表:

H/W path             Device     Class          Description
==========================================================
                                system         Precision T1700 (Precision T1700)
/0                              bus            0TDG4V
/0/0                            memory         64KiB BIOS
/0/3a                           processor      Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
/0/3a/3b                        memory         256KiB L1 cache
/0/3a/3c                        memory         1MiB L2 cache
/0/3a/3d                        memory         8MiB L3 cache
/0/3e                           memory         8GiB System Memory
/0/3e/0                         memory         DIMM [empty]

通过运行显示Linux系统上的磁盘属性和存储设备属性:

$sudo lshw -class disk -class storage

我们可以获得我们可以使用选项-short的简要结果:

$sudo lshw -class disk -class storage -short

此工具还提供GTK图形版本:

2. Inxi.

Inxi是一个强大的功能丰富的命令行工具,适用于Linux用户,当他们想要获取系统硬件,CPU,内存,显卡,驱动程序,电池,内核,过程信息等信息时,适用于Linux用户。

默认情况下,Inxi未在Linux上预先安装。
要使用它,请运行以下命令来安装inxi包:

$sudo apt install inxi

运行Inxi没有任何选择:

$inxi

该命令将返回CPU和内存的信息,如下所示:

CPU: Quad Core Intel Core i7-4790 (-MT MCP-) speed/min/max: 2195/800/4000 MHz Kernel: 5.4.0-37-generic x86_64 Up: 1d 2h 10m 
Mem: 5649.7/7869.6 MiB (71.8%) Storage: 465.76 GiB (5.9% used) Procs: 412 Shell: bash 5.0.16 inxi: 3.0.38

要获取图形信息,请运行以下命令:

$inxi -G
Output
          Graphics:  Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics driver: i915 v: kernel 
           Device-2: NVIDIA GM107GL [Quadro K620] driver: nvidia v: 440.64 
           Display: x11 server: X.Org 1.20.8 driver: modesetting,nvidia unloaded: fbdev,nouveau,vesa 
           resolution: 1920x1080~60Hz, 1920x1080~60Hz 
           OpenGL: renderer: Quadro K620/PCIe/SSE2 v: 4.6.0 NVIDIA 440.64

要显示音频/声卡信息,请运行:

$inxi -A
Output
Audio:     Device-1: Intel Xeon E3-1200 v3/4th Gen Core Processor HD Audio driver: snd_hda_intel 
           Device-2: Intel 8 Series/C220 Series High Definition Audio driver: snd_hda_intel 
           Device-3: NVIDIA GM107 High Definition Audio [GeForce 940MX] driver: snd_hda_intel 
           Sound Server: ALSA v: k5.4.0-39-generic

要显示电池数据,充电,条件,以及另外信息(如果存在电池),请使用"-b""选项运行命令:

$inxi -B
Output
Battery:   ID-1: BAT0 charge: 40.0 Wh condition: 40.0/48.8 Wh (82%)

3. HWINFO

HWINFO命令是Linux用户的强大工具,用于获取系统的硬件组件细节。
它有助于我们收集几乎有关的信息:CPU,USB控制器,图形控制器,网络设备等。

我们可以使用带有- short--devicetype选项的HWINFO命令列出特定类型的信息。
显示有关NIC卡的信息,并找出eth0,eth1通过运行代表什么:

$sudo hwinfo --netcard --short

要使用HWINFO命令显示存储信息,请运行:

$sudo hwinfo --storage --short

同样地,要显示分区和硬盘列表,请运行以下命令:

$sudo hwinfo --block --short

4. LSCPU.

LSCPU将向我们展示CPU的所有信息,如CPU,核心,线程,套接字和CPU系列,高速缓存,型号等。

我们可以通过运行以下命令获取CPU的细节:

$lscpu

命令的输出将是类似的:

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          8
On-line CPU(s) list:             0-7
Thread(s) per core:              2
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           60
Model name:                      Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
Stepping:                        3
CPU MHz:                         888.262
CPU max MHz:                     4000,0000
CPU min MHz:                     800,0000
BogoMIPS:                        7183.65
Virtualization:                  VT-x
L1d cache:                       128 KiB
L1i cache:                       128 KiB
L2 cache:                        1 MiB
L3 cache:                        8 MiB
NUMA node0 CPU(s):               0-7
Vulnerability Itlb multihit:     KVM: Mitigation: Split huge pages
Vulnerability L1tf:              Mitigation; PTE Inversion; VMX conditional cache flushes, SMT vulnerable
...

此外,如果要在MHz中查看CPU的速度,请运行命令:

$lscpu | grep -i MHz

5. LSSCSI.

LSSCSI用于列出机器上的所有SCSI(小型计算机系统接口)设备和NVME(非易失性存储器Express)设备。

默认情况下,LSSCSI未在Ubuntu上预先安装,请运行以下命令以安装:

$sudo apt install lsscsi

我们可以通过运行来简单地使用该命令:

$lsscsi

输出:

[0:0:0:0]    disk    ATA      ST500DM002-1SB10 CC43  /dev/sda

6. LSBLK.

LSBLK命令将以树格式向我们展示所有块设备的详细信息。
它收集来自Sysfs文件系统和Udev数据库的信息。

为了列出所有块设备及其分区和大小,让我们运行以下命令:

$lsblk

输出

Output
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   40G  0 disk 
├─sda1            8:1    0    1G  0 part /boot
└─sda2            8:2    0   39G  0 part 
  ├─centos-root 253:0    0 35,1G  0 lvm  /
  └─centos-swap 253:1    0  3,9G  0 lvm  [SWAP]
sr0              11:0    1  918M  0 rom

7. LSUSB.

LSUSB是一个强大的工具,用于显示连接到Linux系统的USB总线的USB设备的所有信息。
信息包含:速度,类,供应商ID,产品ID,USB设备的总线等。

我们可以运行以下命令以获取简要信息:

$lsusb
Output
Bus 002 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 002 Device 002: ID 8087:8000 Intel Corp. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 003: ID 046d:c31d Logitech, Inc. Media Keyboard K200
Bus 001 Device 002: ID 8087:8008 Intel Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

如果要使用总线和设备编号显示指定的设备,请使用'-s'选项运行命令。
例如:

$lsusb -s 1:1

输出:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

8. LSPCI.

此标准Linux实用程序显示系统内部的内部内容。
该命令是LS,标准命令的组合,用于列出用于外设连接的文件和PCI。
我们还可以预期结果将AGP和板载组件包含如USB芯片组。

该命令在诊断与PCI设备相关的错误方面有很大的帮助。
使用lspci命令的'-t'选项,我们可以以树格式查看PCI布局。

$lspci -t

要获取更详细的信息,请使用"-t""选项:

$lspci -tv

我们只需运行lspci命令以显示基本设备信息:

$lspci

9.使用DMESG.

DMESG命令对于找出有关硬件事件的信息很有用。
它显示系统日志的内容。

以下命令列出了对通用串行总线设备的所有引用:

$sudo dmesg | grep -i usb
Output
[    0.754057] ACPI: bus type USB registered
[    0.754057] usbcore: registered new interface driver usbfs
[    0.754057] usbcore: registered new interface driver hub
[    0.754057] usbcore: registered new device driver usb
[    1.708662] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.709302] ehci-pci 0000:02:01.0: new USB bus registered, assigned bus number 1
[    1.724205] ehci-pci 0000:02:01.0: USB 2.0 started, EHCI 1.00
[    1.724285] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.03
[    1.724286] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.724288] usb usb1: Product: EHCI Host Controller
[    1.724289] usb usb1: Manufacturer: Linux 5.3.0-53-generic ehci_hcd
[    1.724290] usb usb1: SerialNumber: 0000:02:01.0
[    1.724478] hub 1-0:1.0: USB hub found
[    1.724731] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.724756] uhci_hcd: USB Universal Host Controller Interface driver
[    1.725463] uhci_hcd 0000:02:00.0: new USB bus registered, assigned bus number 2
[    1.725845] usb usb2: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 5.03
[    1.725846] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    1.725847] usb usb2: Product: UHCI Host Controller
[    1.725848] usb usb2: Manufacturer: Linux 5.3.0-53-generic uhci_hcd
The following command shows all serial ports:
$sudo dmesg | grep -i tty

为了显示有关内存的物理内存的详细信息,运行:

$sudo dmesg | grep -i memory

10.使用dmidecode命令

Dmidecode代表桌面管理接口解码,它是检索CPU,内存,序列号,BIOS的信息的强大工具,...该命令将以人类可读格式向我们展示硬件详细信息。

要获取有关BIOS的信息,请运行:

$sudo dmidecode -t bios
Output
# dmidecode 3.1
Getting SMBIOS data from sysfs.
SMBIOS 2.7 present.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
	Vendor: Phoenix Technologies LTD
	Version: 6.00
	Release Date: 12/12/2016
	Address: 0xEA490
	Runtime Size: 88944 bytes
	ROM Size: 64 kB
	Characteristics:
		ISA is supported
		PCI is supported
		PC Card (PCMCIA) is supported
		PNP is supported
		APM is supported
		BIOS is upgradeable
		BIOS shadowing is allowed
		ESCD support is available
		Boot from CD is supported
		Selectable boot is supported
		EDD is supported
		Print screen service is supported (int 5h)
		8042 keyboard services are supported (int 9h)
	BIOS Revision: 4.6
	Firmware Revision: 0.0

如果要按ID显示硬件组件信息,请使用数字ID(DMI)使用"-t""选项运行命令。

例如,以下命令将显示内存设备的信息:

$sudo dmidecode -t 17

11. HDParm.

HDPARM代表硬盘参数。
它是一种用于处理硬盘设备的Linux命令行实用程序。
我们还可以使用HDPARM命令设置电源管理,睡眠模式,驱动器缓存,直接内存访问设置等的参数。

例如,为了显示硬盘的信息,运行以下命令:

$sudo hdparm -I /dev/sda

另一个例子,我们可以使用HDParm通过运行以下命令来测试硬盘的速度:

$sudo hdparm -t /dev/sda

12.来自/proc文件

/proc目录包含许多系统和硬件信息。

我们可以尝试以下命令在设备上获取更多信息:

$procinfo

命令的输出将是类似的:

Memory:        Total        Used        Free     Buffers                       
内存:         2006008      916292     1089716       32776                       
Swap:         969960      234240      735720                                   
Bootup: Thu Jun 11 15:57:16 2017   Load average: 0.21 0.08 0.02 1/416 21023    
user  :           01:34:39.97   0.2%  page in :         10461037               
nice  :           00:04:15.50   0.0%  page out:         26333420               
system:           01:10:25.63   0.2%  page act:          2931885               
IOwait:           00:13:23.38   0.0%  page dea:          2769585               
hw irq:           00:00:00.00   0.0%  page flt:         93862705               
sw irq:           00:09:00.39   0.0%  swap in :             6039               
idle  :     4w 3d 05:52:38.52  99.6%  swap out:            63794               
uptime:     2w 1d 17:21:09.14         context :        444207086  
irq   0:          3  2-edge timer        irq  38:          0  372736-edge PCIe 
irq   1:          9  1-edge i8042        irq  39:          0  374784-edge PCIe 
irq   8:          1  8-edge rtc0         irq  40:          0  376832-edge PCIe 
docker0     TX 566.00B       RX 0.00B         lo          TX 255.69KiB     RX 255.69KiB    
ens160      TX 48.13MiB      RX 667.44MiB

此外,我们还可以运行其他命令,以便分别获取有关CPU,内存和PCI设备的信息。

$cat /proc/cpuinfo
$cat /proc/meminfo
$cat /proc/pci

13.免费

有时,我们想知道自由内存(内存)是否足以启动或者安装新程序?
在这种情况下,我们可以使用Free命令获取有关Linux系统中内存详细信息的信息。

免费命令不仅向我们展示了有关物理内存的总量和交换的信息,还可以提供免费和使用内存。
例如:

$free -h
Output
              total        used        free      shared  buff/cache   available
Mem:           1,9G        1,0G        760M         14M        165M        762M
Swap:          947M        243M        704M