Linux 中收集系统和硬件信息的 10 个命令
了解正在运行的 Linux 系统的硬件组件始终是一个好习惯,这有助于您在使用yum、dnf或apt在系统上安装软件包和驱动程序时处理兼容性问题。
在本文中,我们将介绍一些有用的 Linux 命令,它们可以帮助您提取有关 Linux 系统和硬件组件的信息。
1.如何查看Linux系统信息
如果只知道系统名称,您可以使用不带任何开关的uname 命令来打印系统信息,或者uname -s命令将打印系统的内核名称。
example@example ~ $ uname Linux
要查看您的 Linux 网络主机名,请将“-n”开关与 uname 命令一起使用,如图所示。
example@example ~ $ uname -n example.com
要获取有关 Linux 内核版本的信息,请使用“-v”开关。
example@example ~ $ uname -v #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014
要获取有关 Linux 内核版本的信息,请使用“-r”开关。
example@example ~ $ uname -r 3.13.0-37-generic
要打印您的 Linux 硬件架构名称,请使用“-m”开关:
example@example ~ $ uname -m x86_64
可以通过运行“uname -a”命令一次打印所有这些信息,如下所示。
example@example ~ $ uname -a Linux example.com 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
2.如何查看Linux系统硬件信息
在这里,您可以使用lshw 工具收集有关硬件组件的大量信息,例如cpu、磁盘、内存、usb 控制器等。
lshw是一个相对较小的工具,在提取信息时可以使用一些选项。lshw 提供的信息是从不同的/proc 文件中收集的。
要打印有关 Linux 系统硬件的信息,请运行以下命令。
example@example ~ $ sudo lshw example.com description: Notebook product: 20354 (LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70) vendor: LENOVO version: Lenovo Z50-70 serial: 1037407803441 width: 64 bits capabilities: smbios-2.7 dmi-2.7 vsyscall32 configuration: administrator_password=disabled boot=normal chassis=notebook family=IDEAPAD frontpanel_password=disabled keyboard_password=disabled power-on_password=disabled sku=LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70 uuid=E4B1D229-D237-E411-9F6E-28D244EBBD98 *-core description: Motherboard product: Lancer 5A5 vendor: LENOVO physical id: 0 version: 31900059WIN serial: YB06377069 slot: Type2 - Board Chassis Location *-firmware description: BIOS vendor: LENOVO physical id: 0 version: 9BCN26WW date: 07/31/2014 size: 128KiB capacity: 4032KiB capabilities: pci upgrade shadowing cdboot bootselect edd int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int9keyboard int10video acpi usb biosbootspecification uefi ......
您可以使用该选项打印硬件信息摘要-short
。
example@example ~ $ sudo lshw -short H/W path Device Class Description ===================================================== system 20354 (LENOVO_MT_20354_ BU_idea_FM_Lenovo Z50-70) /0 bus Lancer 5A5 /0/0 memory 128KiB BIOS /0/4 processor Intel(R) Core(TM) i5-4210U CPU @ 1.70GHz /0/4/b memory 32KiB L1 cache /0/4/c memory 256KiB L2 cache /0/4/d memory 3MiB L3 cache /0/a memory 32KiB L1 cache /0/12 memory 8GiB System Memory /0/12/0 memory DIMM [empty] /0/12/1 memory DIMM [empty] /0/12/2 memory 8GiB SODIMM DDR3 Synchronous 1600 MHz (0.6 ns) /0/12/3 memory DIMM [empty] /0/100 bridge Haswell-ULT DRAM Controller /0/100/2 display Haswell-ULT Integrated Graphics Controller /0/100/3 multimedia Haswell-ULT HD Audio Controller ...
如果您希望生成 html 文件形式的输出,则可以使用选项-html
。
example@example ~ $ sudo lshw -html > lshw.html
3.如何查看Linux CPU信息
要查看有关 CPU 的信息,请使用lscpu 命令,因为它显示有关 CPU 架构的信息,例如来自sysfs和/proc/cpuinfo 的CPU 数量、核心、CPU 系列型号、CPU 缓存、线程等。
example@example ~ $ lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 2 Core(s) per socket: 2 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 69 Stepping: 1 CPU MHz: 768.000 BogoMIPS: 4788.72 Virtualization: VT-x L1d cache: 32K L1i cache: 32K L2 cache: 256K L3 cache: 3072K NUMA node0 CPU(s): 0-3
4.如何收集Linux块设备信息
块设备是硬盘、闪存驱动器等存储设备。lsblk命令用于报告有关块设备的信息,如下所示。
example@example ~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 1000M 0 part ├─sda2 8:2 0 260M 0 part /boot/efi ├─sda3 8:3 0 1000M 0 part ├─sda4 8:4 0 128M 0 part ├─sda5 8:5 0 557.1G 0 part ├─sda6 8:6 0 25G 0 part ├─sda7 8:7 0 14.7G 0 part ├─sda8 8:8 0 1M 0 part ├─sda9 8:9 0 324.5G 0 part / └─sda10 8:10 0 7.9G 0 part [SWAP] sr0 11:0 1 1024M 0 rom
如果您想查看系统上的所有块设备,请包含该-a
选项。
example@example ~ $ lsblk -a NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 1000M 0 part ├─sda2 8:2 0 260M 0 part /boot/efi ├─sda3 8:3 0 1000M 0 part ├─sda4 8:4 0 128M 0 part ├─sda5 8:5 0 557.1G 0 part ├─sda6 8:6 0 25G 0 part ├─sda7 8:7 0 14.7G 0 part ├─sda8 8:8 0 1M 0 part ├─sda9 8:9 0 324.5G 0 part / └─sda10 8:10 0 7.9G 0 part [SWAP] sdb 8:16 1 0 disk sr0 11:0 1 1024M 0 rom ram0 1:0 0 64M 0 disk ram1 1:1 0 64M 0 disk ram2 1:2 0 64M 0 disk ram3 1:3 0 64M 0 disk ram4 1:4 0 64M 0 disk ram5 1:5 0 64M 0 disk ram6 1:6 0 64M 0 disk ram7 1:7 0 64M 0 disk ram8 1:8 0 64M 0 disk ram9 1:9 0 64M 0 disk loop0 7:0 0 0 loop loop1 7:1 0 0 loop loop2 7:2 0 0 loop loop3 7:3 0 0 loop loop4 7:4 0 0 loop loop5 7:5 0 0 loop loop6 7:6 0 0 loop loop7 7:7 0 0 loop ram10 1:10 0 64M 0 disk ram11 1:11 0 64M 0 disk ram12 1:12 0 64M 0 disk ram13 1:13 0 64M 0 disk ram14 1:14 0 64M 0 disk ram15 1:15 0 64M 0 disk
5. 如何在 Linux 中检查 USB 控制器
lsusb命令用于报告有关 USB 控制器及其连接的所有设备的信息。
example@example ~ $ lsusb Bus 001 Device 002: ID 8087:8000 Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 003 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 002 Device 005: ID 0bda:b728 Realtek Semiconductor Corp. Bus 002 Device 004: ID 5986:0249 Acer, Inc Bus 002 Device 003: ID 0bda:0129 Realtek Semiconductor Corp. RTS5129 Card Reader Controller Bus 002 Device 002: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0 Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
您可以使用该-v
选项生成有关每个 USB 设备的详细信息。
example@example ~ $ lsusb -v
6.如何在Linux中检查PCI设备
PCI 设备可能包括 USB 端口、显卡、网络适配器等。lspci工具用于生成有关系统上所有 PCI 控制器以及连接到它们的设备的信息。
要打印有关 PCI 设备的信息,请运行以下命令。
example@example ~ $ lspci 00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b) 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) 00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b) 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) 00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04) 00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04) 00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) 00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4) 00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 5 (rev e4) 00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04) 00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04) 00:1f.2 SATA controller: Intel Corporation Lynx Point-LP SATA Controller 1 [AHCI mode] (rev 04) 00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04) 01:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 10) 02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter 03:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 840M] (rev a2)
使用该选项以树格式-t
生成输出。
example@example ~ $ lspci -t -[0000:00]-+-00.0 +-02.0 +-03.0 +-14.0 +-16.0 +-1b.0 +-1c.0-[01]----00.0 +-1c.3-[02]----00.0 +-1c.4-[03]----00.0 +-1d.0 +-1f.0 +-1f.2 \-1f.3
使用该-v
选项可以生成有关每个连接设备的详细信息。
example@example ~ $ lspci -v 00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 0b) Subsystem: Lenovo Device 3978 Flags: bus master, fast devsel, latency 0 Capabilities: 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b) (prog-if 00 [VGA controller]) Subsystem: Lenovo Device 380d Flags: bus master, fast devsel, latency 0, IRQ 62 Memory at c3000000 (64-bit, non-prefetchable) [size=4M] Memory at d0000000 (64-bit, prefetchable) [size=256M] I/O ports at 6000 [size=64] Expansion ROM at [disabled] Capabilities: Kernel driver in use: i915 .....
7.如何在Linux中检查SCSI设备
要查看所有 scsi/sata 设备,请使用lsscsi命令,如下所示。如果您尚未安装lsscsi工具,请运行以下命令进行安装。
$ sudo apt-get install lsscsi [on Debian derivatives] # yum install lsscsi [On RedHat based systems] # dnf install lsscsi [On Fedora 21+ Onwards]
安装完成后,运行lsscsi命令,如下所示:
example@example ~ $ lsscsi [0:0:0:0] disk ATA ST1000LM024 HN-M 2BA3 /dev/sda [1:0:0:0] cd/dvd PLDS DVD-RW DA8A5SH RL61 /dev/sr0 [4:0:0:0] disk Generic- xD/SD/M.S. 1.00 /dev/sdb
使用该-s
选项显示设备尺寸。
example@example ~ $ lsscsi -s [0:0:0:0] disk ATA ST1000LM024 HN-M 2BA3 /dev/sda 1.00TB [1:0:0:0] cd/dvd PLDS DVD-RW DA8A5SH RL61 /dev/sr0 - [4:0:0:0] disk Generic- xD/SD/M.S. 1.00 /dev/sdb -
8. 如何在 Linux 中检查 SATA 设备
您可以使用hdparm实用程序按如下方式查找有关系统上的 sata 设备的一些信息。在下面的示例中,我使用了块设备/dev/sda1,它是我系统上的硬盘。
example@example ~ $ sudo hdparm /dev/sda1 /dev/sda1: multcount = 0 (off) IO_support = 1 (32-bit) readonly = 0 (off) readahead = 256 (on) geometry = 56065/255/63, sectors = 2048000, start = 2048
要打印有关设备几何形状(包括磁柱、磁头、磁扇区、大小以及设备起始偏移量)的信息,请使用该-g
选项。
example@example ~ $ sudo hdparm -g /dev/sda1 /dev/sda1: geometry = 56065/255/63, sectors = 2048000, start = 2048
9.如何检查Linux文件系统信息
要收集有关文件系统分区的信息,可以使用fdisk 命令。虽然fdisk命令的主要功能是修改文件系统分区,但它也可以用于查看有关文件系统上不同分区的信息。
您可以按如下方式打印分区信息。请记住以超级用户身份运行该命令,否则您可能看不到任何输出。
example@example ~ $ sudo fdisk -l WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted. Disk /dev/sda: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0xcee8ad92 Device Boot Start End Blocks Id System /dev/sda1 1 1953525167 976762583+ ee GPT Partition 1 does not start on physical sector boundary.
10.如何检查Linux硬件组件信息
您还可以使用dmidecode 实用程序通过从 DMI 表读取数据来提取硬件信息。
要打印有关 Linux 内存的信息,请以超级用户身份运行此命令。
example@example ~ $ sudo dmidecode -t memory # dmidecode 2.12 # SMBIOS entry point at 0xaaebef98 SMBIOS 2.7 present. Handle 0x0005, DMI type 5, 24 bytes Memory Controller Information Error Detecting Method: None Error Correcting Capabilities: None Supported Interleave: One-way Interleave Current Interleave: One-way Interleave Maximum Memory Module Size: 8192 MB Maximum Total Memory Size: 32768 MB Supported Speeds: Other Supported Memory Types: Other Memory Module Voltage: Unknown Associated Memory Slots: 4 0x0006 0x0007 0x0008 0x0009 Enabled Error Correcting Capabilities: None ...
要打印有关系统的信息,请运行此命令。
example@example ~ $ sudo dmidecode -t system # dmidecode 2.12 # SMBIOS entry point at 0xaaebef98 SMBIOS 2.7 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: LENOVO Product Name: 20354 Version: Lenovo Z50-70 Serial Number: 1037407803441 UUID: 29D2B1E4-37D2-11E4-9F6E-28D244EBBD98 Wake-up Type: Power Switch SKU Number: LENOVO_MT_20354_BU_idea_FM_Lenovo Z50-70 Family: IDEAPAD ...
要打印有关 Linux BIOS 的信息,请运行此命令。
example@example ~ $ sudo dmidecode -t bios # dmidecode 2.12 # SMBIOS entry point at 0xaaebef98 SMBIOS 2.7 present. Handle 0x0000, DMI type 0, 24 bytes BIOS Information Vendor: LENOVO Version: 9BCN26WW Release Date: 07/31/2014 Address: 0xE0000 Runtime Size: 128 kB ROM Size: 4096 kB Characteristics: PCI is supported BIOS is upgradeable BIOS shadowing is allowed Boot from CD is supported Selectable boot is supported EDD is supported Japanese floppy for NEC 9800 1.2 MB is supported (int 13h) Japanese floppy for Toshiba 1.2 MB is supported (int 13h) 5.25"/360 kB floppy services are supported (int 13h) 5.25"/1.2 MB floppy services are supported (int 13h) 3.5"/720 kB floppy services are supported (int 13h) 3.5"/2.88 MB floppy services are supported (int 13h) 8042 keyboard services are supported (int 9h) CGA/mono video services are supported (int 10h) ACPI is supported USB legacy is supported BIOS boot specification is supported Targeted content distribution is supported UEFI is supported BIOS Revision: 0.26 Firmware Revision: 0.26 ...
要打印有关 Linux 处理器的信息,请运行此命令。
example@example ~ $ sudo dmidecode -t processor # dmidecode 2.12 # SMBIOS entry point at 0xaaebef98 SMBIOS 2.7 present. Handle 0x0004, DMI type 4, 42 bytes Processor Information Socket Designation: U3E1 Type: Central Processor Family: Core i5 Manufacturer: Intel(R) Corporation ID: 51 06 04 00 FF FB EB BF Signature: Type 0, Family 6, Model 69, Stepping 1 Flags: ...
概括
您还可以使用许多其他方法来获取有关 Linux 系统硬件组件的信息。大多数这些命令都使用/proc 目录中的文件来提取系统信息。
希望您觉得这些提示和技巧很有用,如果您想添加更多信息,或者在使用任何命令时遇到任何困难,请记得发表评论。请记住始终与示例保持联系。