
在Linux系统[1]特别是服务器系统中常常会需要查看设备的硬件信息,这时候使用命令查看就显得非常方便。本文介绍几个在Linux系统[2]中查看硬件信息的命令,它们是lspci、lsblk、lscpu 和 lsusb。
从命令的名称ls+pci的组合上大致也能看出来,lspci用于显示有关系统中的PCI总线以及与其连接的设备的信息。默认情况下,它显示设备的简短列表,如果配合指定的选项使用可以显示输出更详细的信息。
语法格式:
lspci [参数]常用参数:
使用示例:默认情况下终端中直接输入该命令,显示当前主机的所有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列出有关所有或指定块设备的信息。默认情况下,该命令以树状格式打印所有设备(RAM磁盘除外)。
语法格式:
lsblk [参数]使用示例:
默认情况下直接输入命令,类似如下:
lsblk输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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 MOUNTPOINTsda 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 MODEsda 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查看。
此命令用来显示cpu的相关信息 ,lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读。lscpu命令输出的信息包含cpu数量,线程,核数,套接字和Nom-Uniform Memeor Access(NUMA),缓存等 ,不是所有的列都支持所有的架构,如果指定了不支持的列,那么lscpu将打印列,但不显示数据 。
语法格式:
lscpu [参数]常用参数:
默认情况下,终端中直接输入命令:
lscpu输出内容类似如下:
Architecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 32On-line CPU(s) list: 0-31Thread(s) per core: 2Core(s) per socket: 8Socket(s): 2NUMA node(s): 2Vendor ID: GenuineIntelCPU family: 6Model: 62Model name: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHzStepping: 4CPU MHz: 1200.000BogoMIPS: 5187.29Virtualization: VT-xL1d cache: 32KL1i cache: 32KL2 cache: 256KL3 cache: 20480KNUMA node0 CPU(s): 0-7,16-23NUMA node1 CPU(s): 8-15,24-31
更多命令详细说明,可以在终端中输入man lscpu命令查看。
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 hubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching HubBus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching HubBus 001 Device 003: ID 046b:ff10 American Megatrends, Inc. Virtual Keyboard and MouseBus 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 hubDevice Descriptor:bLength 18bDescriptorType 1bcdUSB 2.00bDeviceClass 9 HubbDeviceSubClass 0 UnusedbDeviceProtocol 0 Full speed (or root) hubbMaxPacketSize0 64idVendor 0x1d6b Linux FoundationidProduct 0x0002 2.0 root hubbcdDevice 2.06iManufacturer 3 Linux 2.6.32-642.el6.x86_64 ehci_hcdiProduct 2 EHCI Host ControlleriSerial 1 0000:00:1a.0bNumConfigurations 1Configuration Descriptor:bLength 9bDescriptorType 2wTotalLength 25bNumInterfaces 1bConfigurationValue 1iConfiguration 0bmAttributes 0xe0Self PoweredRemote WakeupMaxPower 0mAInterface Descriptor:bLength 9bDescriptorType 4bInterfaceNumber 0bAlternateSetting 0bNumEndpoints 1bInterfaceClass 9 HubbInterfaceSubClass 0 UnusedbInterfaceProtocol 0 Full speed (or root) hubiInterface 0Endpoint Descriptor:bLength 7bDescriptorType 5bEndpointAddress 0x81 EP 1 INbmAttributes 3Transfer Type InterruptSynch Type NoneUsage Type DatawMaxPacketSize 0x0004 1x 4 bytesbInterval 12Hub Descriptor:......
更多关于lsusb命令的详细描述可以在终端中输入man lsusb查看。
本文主要讲解了lspci、lsblk、lscpu 和 lsusb在Linux中查看相关硬件信息的命令,希望通过本文让您对这些命令有一个初步了解,也能知道在Linux系统[3]中查询信息信息的方式,希望读您有所帮助。
[1] Linux系统: https://linux265.com/distro/[2] Linux系统: https://linux265.com/distro/[3] Linux系统: https://linux265.com/distro/
在Linux系统[1]特别是服务器系统中常常会需要查看设备的硬件信息,这时候使用命令查看就显得非常方便。本文介绍几个在Linux系统[2]中查看硬件信息的命令,它们是lspci、lsblk、lscpu 和 lsusb。
从命令的名称ls+pci的组合上大致也能看出来,lspci用于显示有关系统中的PCI总线以及与其连接的设备的信息。默认情况下,它显示设备的简短列表,如果配合指定的选项使用可以显示输出更详细的信息。
语法格式:
lspci [参数]常用参数:
使用示例:默认情况下终端中直接输入该命令,显示当前主机的所有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列出有关所有或指定块设备的信息。默认情况下,该命令以树状格式打印所有设备(RAM磁盘除外)。
语法格式:
lsblk [参数]使用示例:
默认情况下直接输入命令,类似如下:
lsblk输出:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 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 MOUNTPOINTsda 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 MODEsda 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查看。
此命令用来显示cpu的相关信息 ,lscpu从sysfs和/proc/cpuinfo收集cpu体系结构信息,命令的输出比较易读。lscpu命令输出的信息包含cpu数量,线程,核数,套接字和Nom-Uniform Memeor Access(NUMA),缓存等 ,不是所有的列都支持所有的架构,如果指定了不支持的列,那么lscpu将打印列,但不显示数据 。
语法格式:
lscpu [参数]常用参数:
默认情况下,终端中直接输入命令:
lscpu输出内容类似如下:
Architecture: x86_64CPU op-mode(s): 32-bit, 64-bitByte Order: Little EndianCPU(s): 32On-line CPU(s) list: 0-31Thread(s) per core: 2Core(s) per socket: 8Socket(s): 2NUMA node(s): 2Vendor ID: GenuineIntelCPU family: 6Model: 62Model name: Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60GHzStepping: 4CPU MHz: 1200.000BogoMIPS: 5187.29Virtualization: VT-xL1d cache: 32KL1i cache: 32KL2 cache: 256KL3 cache: 20480KNUMA node0 CPU(s): 0-7,16-23NUMA node1 CPU(s): 8-15,24-31
更多命令详细说明,可以在终端中输入man lscpu命令查看。
lsusb命令用于显示本机的USB设备列表,以及USB设备的详细信息。lsusb命令显示的USB设备信息来自“/proc/bus/usb”目录下的对应文件。
语法格式:
lsusb [参数]常用参数:
使用示例:
默认情况下,在终端中直接输入命令:
lsusb显示USB设备列表:
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching HubBus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching HubBus 001 Device 003: ID 046b:ff10 American Megatrends, Inc. Virtual Keyboard and MouseBus 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 hubDevice Descriptor:bLength 18bDescriptorType 1bcdUSB 2.00bDeviceClass 9 HubbDeviceSubClass 0 UnusedbDeviceProtocol 0 Full speed (or root) hubbMaxPacketSize0 64idVendor 0x1d6b Linux FoundationidProduct 0x0002 2.0 root hubbcdDevice 2.06iManufacturer 3 Linux 2.6.32-642.el6.x86_64 ehci_hcdiProduct 2 EHCI Host ControlleriSerial 1 0000:00:1a.0bNumConfigurations 1Configuration Descriptor:bLength 9bDescriptorType 2wTotalLength 25bNumInterfaces 1bConfigurationValue 1iConfiguration 0bmAttributes 0xe0Self PoweredRemote WakeupMaxPower 0mAInterface Descriptor:bLength 9bDescriptorType 4bInterfaceNumber 0bAlternateSetting 0bNumEndpoints 1bInterfaceClass 9 HubbInterfaceSubClass 0 UnusedbInterfaceProtocol 0 Full speed (or root) hubiInterface 0Endpoint Descriptor:bLength 7bDescriptorType 5bEndpointAddress 0x81 EP 1 INbmAttributes 3Transfer Type InterruptSynch Type NoneUsage Type DatawMaxPacketSize 0x0004 1x 4 bytesbInterval 12Hub Descriptor:......
更多关于lsusb命令的详细描述可以在终端中输入man lsusb查看。
本文主要讲解了lspci、lsblk、lscpu 和 lsusb在Linux中查看相关硬件信息的命令,希望通过本文让您对这些命令有一个初步了解,也能知道在Linux系统[3]中查询信息信息的方式,希望读您有所帮助。
[1] Linux系统: https://linux265.com/distro/[2] Linux系统: https://linux265.com/distro/[3] Linux系统: https://linux265.com/distro/
