在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