Linux下读取终端设备输入信息,详解Linux中几个获取硬件详细信息的命令

在Linux系统特别是服务器系统中常常会需要查看设备的硬件信息,这时候使用命令查看就显得非常方便。本文介绍几个在Linux系统中查看硬件信息的命令,它们是lspci、lsblk、lscpu 和 lsusb。

lspci 命令

从命令的名称ls+pci的组合上大致也能看出来,lspci用于显示有关系统中的PCI总线以及与其连接的设备的信息。默认情况下,它显示设备的简短列表,如果配合指定的选项使用可以显示输出更详细的信息。

语法格式:

lspci [参数]

常用参数:

选项

描述

-n

以数字方式显示PCI厂商和设备代码

-t

以树状结构显示PCI设备的层次关系

-b

以总线为中心的视图

-s

仅显示指定总线插槽的设备和功能块信息

-i

指定PCI编号列表文件,不使用默认文件

-m

以机器可读方式显示PCI设备信息

使用示例:

默认情况下终端中直接输入该命令,显示当前主机的所有PCI总线信息:

lspci

输出类似如下:

00:00.0 Host bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 DMI2 (rev 04)

00:01.0 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 1a (rev 04)

00:02.0 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2a (rev 04)

00:02.2 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 2c (rev 04)

00:03.0 PCI bridge: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 PCI Express Root Port 3a (rev 04)

00:05.0 System peripheral: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 VTd/Memory Map/Misc (rev 04)

00:05.2 System peripheral: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 IIO RAS (rev 04)

00:05.4 PIC: Intel Corporation Xeon E7 v2/Xeon E5 v2/Core i7 IOAPIC (rev 04)

.....

以树状结构显示PCI设备的层次关系:

lspci -t

输出:

-+-[0000:ff]-+-08.0

|           +-09.0

|           +-0a.0

|           +-0a.1

|           +-0a.2

|           +-0a.3

|           +-0b.0

|           +-0b.3

|           +-0c.0

|           +-0c.1

|           +-0c.2

|           +-0c.3

|           +-0d.0

|           +-0d.1

|           +-0d.2

|           +-0d.3

|           +-0e.0

|           +-0e.1

|           +-0f.0

|           +-0f.1

|           +-0f.2

|           +-0f.3

|           +-0f.4

|           +-0f.5

|           +-10.0

|           +-10.1

|           +-10.2

|           +-10.3

|           +-10.4

|           +-10.5

|           +-10.7

|           +-13.0

|           +-13.1

|           +-13.4

|           +-13.5

|           +-16.0

|           +-16.1

|           -16.2

+-[0000:80]-+-00.0-[81]--

|           +-05.0

|           +-05.2

|           -05.4

......

如果想得到更详细的信息,可以使用如下命令:

lspci -vvx

-vv:使得 lspci 以过冗余模式显示更详细的信息 (事实上是 PCI 设备能给出的所有东西)。这些数据的确切意义没有在此手册页中解释,如果你想知道更多,请参照 /usr/include/linux/pci.h 或者 PCI 规范。

-x:以十六进制显示 PCI 配置空间 (configuration space) 的前64个字节映象 (标准头部信息)。此参数对调试驱动和lspci本身很有用。

更多关于lspci中说参数说明可以在终端中通过man lspci来查看。

lsblk命令

lsblk列出有关所有或指定块设备的信息,lsblk列出有关所有或指定块设备的信息。默认情况下,该命令以树状格式打印所有设备(RAM磁盘除外)。

语法格式:

lsblk [参数]

使用示例:

默认情况下直接输入命令,类似如下:

lsblk

输出:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  1.1T  0 disk

├─sda1   8:1    0  500M  0 part /boot

├─sda2   8:2    0 31.3G  0 part [SWAP]

└─sda3   8:3    0  1.1T  0 part /

sr0     11:0    1 1024M  0 rom

NAME : 这是块设备名。

MAJ:MIN : 本栏显示主要和次要设备号。

RM : 本栏显示设备是否可移动设备。注意,在本例中设备sdb和sr0的RM值等于1,这说明他们是可移动设备。

SIZE : 本栏列出设备的容量大小信息。例如298.1G表明该设备大小为298.1GB,而1K表明该设备大小为1KB。

RO : 该项表明设备是否为只读。在本案例中,所有设备的RO值为0,表明他们不是只读的。

TYPE :本栏显示块设备是否是磁盘或磁盘上的一个分区。在本例中,sda和sdb是磁盘,而sr0是只读存储(rom)。

MOUNTPOINT : 本栏指出设备挂载的挂载点。

也可以列出指定设备的信息:

lsblk /dev/sda

输出类似:

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

sda      8:0    0  1.1T  0 disk

├─sda1   8:1    0  500M  0 part /boot

├─sda2   8:2    0 31.3G  0 part [SWAP]

└─sda3   8:3    0  1.1T  0 part /

lsblk命令也可以用于列出一个特定设备的拥有关系,同时也可以列出组和模式。可以通过以下命令来获取这些信息:

lsblk -m

输出:

NAME    SIZE OWNER GROUP MODE

sda     1.1T root  disk  brw-rw----

├─sda1  500M root  disk  brw-rw----

├─sda2 31.3G root  disk  brw-rw----

└─sda3  1.1T root  disk  brw-rw----

sr0    1024M root  cdrom brw-rw----

更多信息可以在终端中输入man lsblk查看。

lscpu命令

此命令用来显示cpu的相关信息 ,lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读。lscpu命令输出的信息包含cpu数量,线程,核数,套接字和Nom-Uniform Memeor Access(NUMA),缓存等 ,不是所有的列都支持所有的架构,如果指定了不支持的列,那么lscpu将打印列,但不显示数据 。

语法格式:

lscpu [参数]

常用参数:

参数

说明

-a

打印在线和离线的CPU

-b

仅打印在线CPU

-c

仅打印离线CPU

-h

打印帮助并退出

-V

打印当前版本号

默认情况下,终端中直接输入命令:

lscpu

输出内容类似如下:

Architecture:          x86_64

CPU op-mode(s):        32-bit, 64-bit

Byte Order:            Little Endian

CPU(s):                32

On-line CPU(s) list:   0-31

Thread(s) per core:    2

Core(s) per socket:    8

Socket(s):             2

NUMA node(s):          2

Vendor ID:             GenuineIntel

CPU family:            6

Model:                 62

Model name:            Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHz

Stepping:              4

CPU MHz:               1200.000

BogoMIPS:              5187.29

Virtualization:        VT-x

L1d cache:             32K

L1i cache:             32K

L2 cache:              256K

L3 cache:              20480K

NUMA node0 CPU(s):     0-7,16-23

NUMA node1 CPU(s):     8-15,24-31

更多命令详细说明,可以在终端中输入man lscpu命令查看。

lsusb命令

lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息。lsusb命令显示的USB设备信息来自“/proc/bus/usb”目录下的对应文件。

语法格式:

lsusb [参数]

常用参数:

选项

描述

-v

显示USB设备的详细信息

-s

仅显示指定的总线和(或)设备号的设备

-d

仅显示指定厂商和产品编号的设备

-t

以树状结构显示无理USB设备的层次

-V

显示命令的版本信息

使用示例:

默认情况下,在终端中直接输入命令:

lsusb

显示USB设备列表:

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

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

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 003: ID 046b:ff10 American Megatrends, Inc. Virtual Keyboard and Mouse

Bus 002 Device 003: ID 0424:2513 Standard Microsystems Corp. 2.0 Hub

以树状显示USB设备列表:

lsusb -t

输出:

/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M

|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/8p, 480M

|__ Port 5: Dev 3, If 0, Class=hub, Driver=hub/3p, 480M

/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci_hcd/2p, 480M

|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/6p, 480M

|__ Port 6: Dev 3, If 0, Class=HID, Driver=usbhid, 12M

|__ Port 6: Dev 3, If 1, Class=HID, Driver=usbhid, 12M

显示USB设备详细信息:

lsusb -v

输出类似:

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

Device Descriptor:

bLength                18

bDescriptorType         1

bcdUSB               2.00

bDeviceClass            9 Hub

bDeviceSubClass         0 Unused

bDeviceProtocol         0 Full speed (or root) hub

bMaxPacketSize0        64

idVendor           0x1d6b Linux Foundation

idProduct          0x0002 2.0 root hub

bcdDevice            2.06

iManufacturer           3 Linux 2.6.32-642.el6.x86_64 ehci_hcd

iProduct                2 EHCI Host Controller

iSerial                 1 0000:00:1a.0

bNumConfigurations      1

Configuration Descriptor:

bLength                 9

bDescriptorType         2

wTotalLength           25

bNumInterfaces          1

bConfigurationValue     1

iConfiguration          0

bmAttributes         0xe0

Self Powered

Remote Wakeup

MaxPower                0mA

Interface Descriptor:

bLength                 9

bDescriptorType         4

bInterfaceNumber        0

bAlternateSetting       0

bNumEndpoints           1

bInterfaceClass         9 Hub

bInterfaceSubClass      0 Unused

bInterfaceProtocol      0 Full speed (or root) hub

iInterface              0

Endpoint Descriptor:

bLength                 7

bDescriptorType         5

bEndpointAddress     0x81  EP 1 IN

bmAttributes            3

Transfer Type            Interrupt

Synch Type               None

Usage Type               Data

wMaxPacketSize     0x0004  1x 4 bytes

bInterval              12

Hub Descriptor:

......

更多关于lsusb命令的详细描述可以在终端中输入man lsusb查看。

写在最后

本文主要讲解了lspci、lsblk、lscpu 和 lsusb在Linux中查看相关硬件信息的命令,希望通过本文让您对这些命令有一个初步了解,也能知道在Linux系统中查询信息信息的方式,希望读您有所帮助。也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值