7 个用于收集系统信息的 Linux 命令
在很多情况下您需要获取有关 Linux 系统的信息,无论是硬件、嵌入式软件(如 BIOS )还是它们与操作系统的关系。
您需要这些信息来更好地了解您的系统,安装适当的软件和驱动程序,应用补丁,获得供应商支持,规划扩展和升级,并充分使用您的系统。
一般来说,Linux 发行版提供了许多可用于显示系统信息的工具。通常,您可以直接查询虚拟文件系统(如/proc或/sys),但它们可能会提供乍一看难以理解的基本信息。
本文介绍了七个命令,它们以直接、易懂的方式提供有关系统 CPU、磁盘、RAM、设备和固件的详细信息。这些实用程序汇集了来自不同来源的信息,以提供相关摘要,帮助您了解系统的功能。
我首先来看一下 CPU。
显示 CPU 信息
该lscpu
实用程序提供了 CPU 功能的全面摘要,包括型号信息、核心数量、速度、标志、虚拟化功能和应用的安全缓解措施。
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 48 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Vendor ID: AuthenticAMD
Model name: AMD Ryzen 7 PRO 5850U with Radeon Graphics
CPU family: 25
Model: 80
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 2
Stepping: 0
BogoMIPS: 3792.88
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nop
l cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor l
ahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2
erms invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 xsaves clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean
pausefilter pfthreshold v_vmsave_vmload vgif umip pku ospke vaes vpclmulqdq rdpid fsrm arch_capabilities
Virtualization features:
Virtualization: AMD-V
Hypervisor vendor: KVM
Virtualization type: full
您还可以使用lscpu
选项-p
仅打印特定字段或-J
JSON 输出。这两个选项都非常适合与其他程序或脚本一起解析。
接下来我将查看存储。
收集磁盘信息
Linux 提供了许多实用程序来查看连接到系统的存储和磁盘,例如df
、fdisk
或mount
。这些是收集特定信息的绝佳选择。您还可以使用它们lsblk
来一目了然地了解块设备:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sr0 11:0 1 1024M 0 rom
zram0 251:0 0 3.8G 0 disk [SWAP]
vda 252:0 0 32G 0 disk
├─vda1 252:1 0 600M 0 part /boot/efi
├─vda2 252:2 0 1G 0 part /boot
└─vda3 252:3 0 30.4G 0 part /home
/
此实用程序提供了更多信息,您应该使用 检查其所有选项man lsblk
。我经常使用两个选项:--fs
在输出中包含文件系统类型,并-J
使用其他程序解析 JSON 输出。
显示 USB 信息
使用该lsusb
实用程序收集有关可用 USB 设备的信息。您的发行版可能默认不包含此实用程序。安装软件包 usbutils
以访问它:
$ sudo dnf install -y usbutils
然后使用lsusb
查看 USB 设备列表:
$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0627:0001 Adomax Technology Co., Ltd QEMU USB Tablet
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
要获得更详细的输出,请使用 -v
或-t
选项将输出格式化为树状层次结构。
显示 PCI 信息
列表中的下一个是lspci
获取有关 PCI 设备的信息。此实用程序是软件包的一部分pciutils
,您可能需要安装它,具体取决于您的发行版:
$ sudo dnf install -y pciutils
运行lspci
以获取所有连接的 PCI 设备的摘要:
$ lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Red Hat, Inc. Virtio GPU (rev 01)
00:02.0 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:02.1 PCI bridge: Red Hat, Inc. QEMU PCIe Root port
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
01:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01)
02:00.0 Ethernet controller: Red Hat, Inc. Virtio network device (rev 01)
03:00.0 USB controller: Red Hat, Inc. QEMU XHCI Host Controller (rev 01)
04:00.0 Communication controller: Red Hat, Inc. Virtio console (rev 01)
05:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
06:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon (rev 01)
07:00.0 Unclassified device [00ff]: Red Hat, Inc. Virtio RNG (rev 01)
您可以使用该-v
选项获取更详细的输出,-k
列出设备正在使用的 Linux 内核模块,并-s
根据 ID 过滤特定设备。例如,要列出设备的内核模块05:00.0
,请使用:
$ lspci -s 05:00.0 -k
05:00.0 SCSI storage controller: Red Hat, Inc. Virtio block device (rev 01)
Subsystem: Red Hat, Inc. Device 1100
Kernel driver in use: virtio-pci
该lspci
实用程序提供许多其他选项,因此请查看其手册页以了解更多详细信息。
显示 RAM 信息
要获取基本 RAM 使用率信息,请使用以下命令free
:
$ free -m
total used free shared buff/cache available
Mem: 3899 269 2616 13 1013 3396
Swap: 3898 0 3898
有关 RAM 硬件的更多信息,包括可用插槽的数量和类型、制造信息、大小和其他物理详细信息,请使用实用dmidecode
程序。此通用实用程序提供有关许多硬件和固件组件的信息。您可以使用以下软件包安装它dmidecode
:
$ sudo dnf install -y dmidecode
由于dmidecode
提供了大量的信息转储,您可以使用仅列出特定类型的选项来过滤其输出-t TYPE
。例如,要仅显示与 RAM 相关的信息,请使用-t memory
:
$ sudo dmidecode -t memory
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x1000, DMI type 16, 23 bytes
Physical Memory Array
Location: Other
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 4 GB
Error Information Handle: Not Provided
Number Of Devices: 1
Handle 0x1100, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x1000
Error Information Handle: Not Provided
Total Width: Unknown
Data Width: Unknown
Size: 4 GB
Form Factor: DIMM
Set: None
Locator: DIMM 0
Bank Locator: Not Specified
Type: RAM
Type Detail: Other
Speed: Unknown
Manufacturer: QEMU
Serial Number: Not Specified
Asset Tag: Not Specified
Part Number: Not Specified
Rank: Unknown
Configured Memory Speed: Unknown
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown
此命令具有更多功能。我将检查其中的一些功能,首先从 BIOS 信息开始。
显示 BIOS 信息
用于dmidecode -t bios
查看 BIOS 信息摘要:
$ sudo dmidecode -t bios
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0000, DMI type 0, 26 bytes
BIOS Information
Vendor: EFI Development Kit II / OVMF
Version: 0.0.0
Release Date: 02/06/2015
Address: 0xE8000
Runtime Size: 96 kB
ROM Size: 64 kB
Characteristics:
BIOS characteristics not supported
Targeted content distribution is supported
UEFI is supported
System is a virtual machine
BIOS Revision: 0.0
输出包括固件版本和开发人员信息,对于规划更新很有用。
显示系统信息
最后,对于一般硬件信息,包括制造号和产品序列号,请使用dmidecode -t system
:
$ sudo dmidecode -t system
# dmidecode 3.3
Getting SMBIOS data from sysfs.
SMBIOS 2.8 present.
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: QEMU
Product Name: Standard PC (Q35 + ICH9, 2009)
Version: pc-q35-7.0
Serial Number: Not Specified
UUID: 3e45ed98-4c27-4566-8ac0-612cb3e956ba
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x2000, DMI type 32, 11 bytes
System Boot Information
Status: No errors detected
此信息对于查找有关硬件的在线文档或获取供应商支持很有用。
下一步是什么?
我列出了一些命令行实用程序,它们可帮助您了解运行 Linux 操作系统的系统和硬件。其中一些实用程序是专用的,而另一些则dmidecode
是通用的。您可以使用以下命令查看它可以提供的所有信息dmidecode -t
:
$ sudo dmidecode -t
dmidecode: option requires an argument -- 't'
Type number or keyword expected
Valid type keywords are:
bios
system
baseboard
chassis
processor
memory
cache
connector
slot
其他高级实用程序提供有关硬件的详细信息,例如hwinfo
或 GUI 工具cpu-x
。我将在以后的文章中介绍其中一些工具。