如何通过命令行显示Linux硬件信息
当用户在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