在Linux系统中,设备管理是系统运维和开发中的基础操作,无论是排查硬件故障、识别外接设备,还是优化系统配置,都需要准确掌握设备信息的查看方法,Linux提供了丰富的命令行工具,支持从不同维度(如块设备、PCI设备、USB设备、CPU、内存等)查看系统中的所有设备信息,本文将详细介绍常用命令的功能、用法及输出解读,帮助用户全面掌握Linux设备查看方法。

Linux设备分类与查看概述
Linux系统中的设备主要分为三类:块设备(如硬盘、SSD、U盘,以块为单位读写数据)、字符设备(如鼠标、键盘、终端,以字符流方式交互)和网络设备(如网卡、无线适配器),还有PCI设备(连接到PCI总线的硬件,如显卡、声卡)、USB设备(通过USB接口连接的外设)等,不同类型的设备需使用不同的命令进行查看,以下将分类说明常用工具的使用方法。
查看块设备:硬盘、SSD、U盘等
块设备是Linux中最常见的存储设备,可通过以下命令查看详细信息:
lsblk:列出块设备信息
lsblk(list block devices)是查看块设备的常用命令,以树状结构展示设备及其分区信息,支持显示文件系统、挂载点、UUID等属性。
常用选项:
-f:显示文件系统信息(如类型、UUID、挂载点);-l:使用列表格式输出(默认为树状);-t:显示设备拓扑结构(如RAID、多路径设备);-b:以字节为单位显示设备大小。
示例输出:
lsblk -f NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT sda ├─sda1 ntfs Data 2A3B-4C5D 916.2G 15% /mnt/Data ├─sda2 ext4 1.0 123e4567-89ab-cdef-0123-456789abcdef 45.2G 20% / └─sda3 swap 1.0 456789ab-cdef-0123-4567-89abcdefabcdef 2.0G 0% [SWAP] nvme0n1 ├─nvme0n1p1 ext4 1.0 abcdef12-3456-7890-abcd-ef1234567890 50.1G 10% /home └─nvme0n1p2 vfat FAT32 EF12-3456 1.9G 5% /boot/efi
输出中,NAME为设备名(如sda为SATA硬盘,nvme0n1为NVMe SSD),FSTYPE为文件系统类型,UUID为唯一标识,MOUNTPOINT为挂载点。
fdisk与parted:磁盘分区管理
fdisk(传统分区工具)和parted(现代分区工具)可用于查看磁盘分区表,但需注意它们主要用于分区操作,查看信息时需结合选项。fdisk示例:
sudo fdisk -l # 查看所有磁盘分区信息
输出会显示磁盘大小、分区起始/结束扇区、分区类型(如Linux、NTFS)等。parted示例:
sudo parted -l # 以列表形式查看分区信息
parted支持更多文件系统类型,输出更直观。
查看PCI设备:显卡、网卡、声卡等
PCI设备是连接到PCI总线的硬件,如独立显卡、千兆网卡、声卡等,需使用lspci命令查看。

lspci:列出PCI设备
lspci(list PCI devices)需安装pciutils包(Ubuntu/Debian:sudo apt install pciutils;CentOS/RHEL:sudo yum install pciutils),支持显示设备厂商、型号、驱动等信息。
常用选项:
-v:显示详细信息(包括驱动、资源占用);-nn:显示十六进制厂商和设备ID(便于查手册);-k:显示设备使用的内核驱动。
示例输出:
lspci -nn 00:00.0 Host bridge [0600]: Intel Corporation 12th Gen Core Processor Host Bridge [8086:9a14] 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GA106M [GeForce RTX 3060 Mobile] [10de:2520] 03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168]
00:00.0为PCI插槽地址(总线号:设备号:功能号),[0600]为设备类型代码(0600为主桥),厂商和设备ID(如8086:9a14)可用于查询具体型号。
查看USB设备:U盘、鼠标、键盘等
USB设备可通过lsusb命令查看,需安装usbutils包(安装方式同pciutils)。
lsusb:列出USB设备
lsusb支持显示USB设备的厂商、产品ID、版本、接口类型等信息,-v选项可输出详细信息(包括配置描述符、接口等)。
示例输出:
lsusb -v Bus 001 Device 005: ID 0781:5591 SanDisk Corp. Ultra Fit Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.10 bDeviceClass 0 (Defined at Interface level) bDeviceSubClass 0 bDeviceProtocol 0 idVendor 0x0781 SanDisk Corp. idProduct 0x5591 Ultra Fit iManufacturer 1 SanDisk iProduct 2 Ultra Fit iSerial 3 0000000000000000
输出中,Bus 001 Device 005为USB总线号和设备号,idVendor和idProduct为唯一标识,可用于驱动匹配。
查看硬件概览:CPU、内存、主板等
若需查看系统整体硬件信息(如CPU型号、内存容量、主板厂商等),可使用以下命令:
lscpu:查看CPU信息
lscpu以表格形式显示CPU架构、核心数、线程数、频率、缓存等信息,无需额外安装。
示例输出:
lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 46 bits physical, 48 bits virtual CPU(s): 8 On-line CPU(s) list: 0-7 Thread(s) per core: 2 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1
CPU(s)为逻辑核心数(线程数),Core(s) per socket为物理核心数,Socket(s)为CPU插槽数。

dmidecode:查看DMI表信息
dmidecode(DMI table decoder)读取主板BIOS中的DMI表(硬件管理数据),可获取主板型号、BIOS版本、内存类型、序列号等信息,需root权限。
常用选项:
-t:指定信息类型(如system系统信息、memory内存信息、baseboard主板信息)。
示例:
sudo dmidecode -t system # Manufacturer: Dell Inc. # Product Name: Latitude 5420 # Serial Number: 1ABC2D3E4F # UUID: 12345678-9abc-def0-1234-56789abcdef0
lshw与hwinfo:综合硬件信息
lshw(Hardware Lister)和hwinfo(Hardware Info)是功能强大的硬件查看工具,需安装(sudo apt install lshw/sudo apt install hwinfo)。
lshw:以树状结构展示硬件层级(CPU→内存→磁盘→外设等),-short选项输出简要信息。hwinfo:支持更详细的硬件检测,--short列出设备摘要,--detail输出完整信息。
查看设备事件与属性:udevadm
udevadm是udev设备管理器的工具,可查看设备事件(如USB插入/拔出、磁盘挂载)和设备属性(如设备路径、UUID)。
示例:
# 查看最近的设备事件 udevadm monitor # 查看指定设备的属性(如/dev/sda1) udevadm info -a -n /dev/sda1
常用查看设备命令对比表
| 命令 | 主要功能 | 适用设备类型 | 常用选项 |
|---|---|---|---|
lsblk |
列出块设备及分区信息 | 硬盘、SSD、U盘 | -f(文件系统)、-l(列表格式) |
lspci |
列出PCI设备信息 | 显卡、网卡、声卡 | -v(详细信息)、-nn(设备ID) |
lsusb |
列出USB设备信息 | U盘、鼠标、键盘 | -v(详细信息)、-t(树状结构) |
lscpu |
查看CPU详细信息 | 处理器 | -e(扩展格式)、-p(处理器列表) |
dmidecode |
读取DMI表(硬件底层信息) | 主板、BIOS、内存 | -t(指定类型) |
lshw |
综合硬件信息概览 | 所有硬件 | -short(简要)、-html(HTML输出) |
udevadm |
查看设备事件与属性 | 所有动态设备 | monitor(监控事件)、info(属性) |
相关问答FAQs
如何查看Linux系统中当前正在使用的硬件温度?
查看硬件温度需借助第三方工具,常用命令如下:
- CPU温度:安装
lm-sensors(sudo apt install lm-sensors),运行sensors即可显示CPU及主板传感器温度。 - GPU温度:NVIDIA显卡使用
nvidia-smi -q | grep "GPU Current Temp";AMD显卡使用aticonfig --odgt(需安装fglrx驱动)。 - 硬盘温度:使用
smartctl(需安装smartmontools),如sudo smartctl -a /dev/sda | grep "Temperature_Celsius"。
如何查看已连接的USB设备的详细信息(如厂商、设备ID)?
使用lsusb命令即可查看USB设备的详细信息,具体步骤:
- 安装
usbutils(若未安装):sudo apt install usbutils(Ubuntu/Debian)或sudo yum install usbutils(CentOS/RHEL)。 - 运行
lsusb -v,输出会包含厂商名称(iManufacturer)、产品名称(iProduct)、设备ID(idVendor和idProduct)等详细信息。lsusb -v | grep -i "sandisk"可过滤出SanDisk设备的所有信息。
通过这些命令,用户可以全面掌握Linux系统中各类设备的状态和信息,为系统管理和问题排查提供有力支持。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/33629.html