10 lệnh thu thập thông tin hệ thống và phần cứng trong Linux

Biết các thành phần phần cứng của hệ thống Linux đang chạy, điều này giúp bạn giải quyết các vấn đề tương thích khi cài đặt gói và trình điều khiển trên hệ thống bằng yum, dnf hoặc apt. Trong bài viết này, chúng ta sẽ xem 10 lệnh thu thập thông tin hệ thống và các thành phần phần cứng.

1. Cách xem thông tin hệ thống Linux

Để chỉ biết tên hệ thống, bạn có thể sử dụng lệnh uname mà không có bất kỳ công tắc nào sẽ in thông tin hệ thống hoặc lệnh uname -s sẽ in tên nhân của hệ thống của bạn.

tecmint@tecmint ~ $ uname

Linux

Để xem tên máy chủ mạng Linux của bạn, sử dụng công tắc -n với lệnh uname như được hiển thị.

tecmint@tecmint ~ $ uname -n

tecmint.com

Để có thông tin về phiên bản nhân Linux, sử dụng công tắc -v.

tecmint@tecmint ~ $ uname -v

#64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014

Để có thông tin về phiên bản phát hành nhân Linux của bạn, sử dụng công tắc -r.

tecmint@tecmint ~ $ uname -r

3.13.0-37-generic

Để in tên kiến trúc phần cứng Linux của bạn, sử dụng công tắc -m:

tecmint@tecmint ~ $ uname -m

x86_64

Tất cả thông tin này có thể được in cùng một lúc bằng cách chạy lệnh uname -a như dưới đây.

tecmint@tecmint ~ $ uname -a

Linux tecmint.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
Check Linux System Info
Kiểm tra thông tin hệ thống Linux

2. Cách xem thông tin phần cứng hệ thống Linux

Tại đây, bạn có thể sử dụng công cụ lshw để có thông tin chi tiết về các thành phần phần cứng như cpu, ổ cứng, bộ nhớ, điều khiển usb, v.v.

lshw là một công cụ tương đối nhỏ và có một số tùy chọn bạn có thể sử dụng để trích xuất thông tin. Thông tin được cung cấp bởi lshw đã được thu thập từ các tệp /proc khác nhau.

Lưu ý: Hãy nhớ rằng lệnh lshw được thực thi bởi người dùng root hoặc người dùng sudo.

Để in thông tin về phần cứng hệ thống Linux của bạn, hãy chạy lệnh sau.

tecmint@tecmint ~ $ sudo lshw

tecmint.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
......

Bạn có thể in một tóm tắt về thông tin phần cứng của bạn bằng cách sử dụng tùy chọn -short.

tecmint@tecmint ~ $ 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
...

Nếu bạn muốn tạo đầu ra dưới dạng tệp html, bạn có thể sử dụng tùy chọn -html.

tecmint@tecmint ~ $ sudo lshw -html > lshw.html
Generate Linux Hardware Information in HTML
Tạo thông tin phần cứng Linux bằng HTML

3. Cách xem thông tin CPU Linux

Để xem thông tin về CPU của bạn, sử dụng lệnh lscpu vì nó hiển thị thông tin về kiến ​​trúc CPU của bạn như số lượng CPU, nhân, mô hình họ CPU, bộ nhớ cache CPU, luồng, v.v. từ sysfs và /proc/cpuinfo.

tecmint@tecmint ~ $ 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. Cách thu thập thông tin thiết bị chặn Linux

Các thiết bị khối là các thiết bị lưu trữ như ổ cứng, ổ flash, v.v. Lệnh lsblk được sử dụng để báo cáo thông tin về các thiết bị khối như sau.

tecmint@tecmint ~ $ 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  

Nếu bạn muốn xem tất cả các thiết bị khối trên hệ thống của bạn, hãy bao gồm tùy chọn -a.

tecmint@tecmint ~ $ 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. Cách kiểm tra bộ điều khiển USB trong Linux

Lệnh lsusb được sử dụng để báo cáo thông tin về điều khiển USB và tất cả các thiết bị được kết nối với chúng.

tecmint@tecmint ~ $ 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

Bạn có thể sử dụng tùy chọn -v để tạo thông tin chi tiết về mỗi thiết bị USB.

tecmint@tecmint ~ $ lsusb -v

6. Cách kiểm tra thiết bị PCI trong Linux

Các thiết bị PCI có thể bao gồm cổng usb, card đồ họa, bộ điều khiển mạng, v.v. Công cụ lspci được sử dụng để tạo thông tin liên quan đến tất cả các bộ điều khiển PCI trên hệ thống của bạn cùng với các thiết bị đã được kết nối với chúng.

Để in thông tin về các thiết bị PCI, chạy lệnh sau.

tecmint@tecmint ~ $ 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)

Sử dụng tùy chọn -t để tạo ra đầu ra ở định dạng cây.

tecmint@tecmint ~ $ 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

Sử dụng tùy chọn -v để tạo thông tin chi tiết về từng thiết bị đã kết nối.

tecmint@tecmint ~ $ 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. Cách kiểm tra thiết bị SCSI trong Linux

Để xem tất cả các thiết bị scsi/sata của bạn, hãy sử dụng lệnh lsscsi như sau. Nếu bạn không có công cụ lsscsi được cài đặt, hãy chạy lệnh sau để cài đặt nó.

$ sudo apt-get install lsscsi        [on Debian derivatives]
# yum install lsscsi                 [On RedHat based systems]
# dnf install lsscsi                 [On Fedora 21+ Onwards]

Sau khi cài đặt, chạy lệnh lsscsi như dưới đây:

tecmint@tecmint ~ $ 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ử dụng tùy chọn -s để hiển thị kích thước thiết bị.

tecmint@tecmint ~ $ 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. Cách kiểm tra thiết bị SATA trong Linux

Bạn có thể tìm thông tin về các thiết bị sata trên hệ thống của bạn như sau bằng cách sử dụng tiện ích hdparm. Trong ví dụ dưới đây, tôi sử dụng thiết bị khối /dev/sda1 là ổ cứng trên hệ thống của tôi.

tecmint@tecmint ~ $ 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

Để in thông tin về hình học thiết bị theo hình trụ, đầu đọc, sector, kích thước và offset bắt đầu của thiết bị, sử dụng tùy chọn -g.

tecmint@tecmint ~ $ sudo hdparm -g /dev/sda1

/dev/sda1:
 geometry      = 56065/255/63, sectors = 2048000, start = 2048

9. Cách kiểm tra thông tin hệ thống tệp Linux

Để thu thập thông tin về các phân vùng hệ thống tệp, bạn có thể sử dụng lệnh fdisk. Mặc dù chức năng chính của lệnh fdisk là chỉnh sửa các phân vùng hệ thống tệp, nhưng nó cũng có thể được sử dụng để xem thông tin về các phân vùng khác nhau trên hệ thống tệp của bạn.

Bạn có thể in thông tin phân vùng như sau. Hãy nhớ chạy lệnh với quyền superuser hoặc bạn có thể không thấy bất kỳ đầu ra nào.

tecmint@tecmint ~ $ 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. Cách kiểm tra thông tin thành phần phần cứng Linux

Bạn cũng có thể sử dụng tiện ích dmidecode để trích xuất thông tin phần cứng bằng cách đọc dữ liệu từ các bảng DMI.

Để in thông tin về bộ nhớ Linux, chạy lệnh này với quyền superuser.

tecmint@tecmint ~ $ 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
...

Để in thông tin về hệ thống, chạy lệnh này.

tecmint@tecmint ~ $ 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
...

Để in thông tin về BIOS Linux, chạy lệnh này.

tecmint@tecmint ~ $ 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
...

Để in thông tin về bộ xử lý Linux, chạy lệnh này.

tecmint@tecmint ~ $ 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:
...

Có nhiều cách khác nhau để thu thập thông tin về các thành phần phần cứng của hệ thống Linux của bạn. Đa số các lệnh này sử dụng các tệp trong thư mục /proc để trích xuất thông tin hệ thống. Hy vọng bạn tìm thấy những mẹo và thủ thuật về lệnh thu thập thông tin hệ thống hữu ích.