Linux如何查看系统中所有已连接设备?

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

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为挂载点。

fdiskparted:磁盘分区管理

fdisk(传统分区工具)和parted(现代分区工具)可用于查看磁盘分区表,但需注意它们主要用于分区操作,查看信息时需结合选项。
fdisk示例

sudo fdisk -l  # 查看所有磁盘分区信息

输出会显示磁盘大小、分区起始/结束扇区、分区类型(如Linux、NTFS)等。
parted示例

sudo parted -l  # 以列表形式查看分区信息

parted支持更多文件系统类型,输出更直观。

查看PCI设备:显卡、网卡、声卡等

PCI设备是连接到PCI总线的硬件,如独立显卡、千兆网卡、声卡等,需使用lspci命令查看。

linux如何查看所有设备

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总线号和设备号,idVendoridProduct为唯一标识,可用于驱动匹配。

查看硬件概览: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插槽数。

linux如何查看所有设备

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

lshwhwinfo:综合硬件信息

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-sensorssudo 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设备的详细信息,具体步骤:

  1. 安装usbutils(若未安装):sudo apt install usbutils(Ubuntu/Debian)或sudo yum install usbutils(CentOS/RHEL)。
  2. 运行lsusb -v,输出会包含厂商名称(iManufacturer)、产品名称(iProduct)、设备ID(idVendoridProduct)等详细信息。lsusb -v | grep -i "sandisk"可过滤出SanDisk设备的所有信息。

通过这些命令,用户可以全面掌握Linux系统中各类设备的状态和信息,为系统管理和问题排查提供有力支持。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/33629.html

(0)
酷番叔酷番叔
上一篇 2025年10月1日 06:50
下一篇 2025年10月1日 07:11

相关推荐

  • Linux下如何解压.tar.bz2文件?

    在Linux系统中,.tar.bz2文件是一种常见的压缩格式,它结合了tar工具的打包功能和bzip2工具的压缩功能,通常用于将多个文件或目录打包并压缩,以减少存储空间占用或便于传输,解压.tar.bz2文件需要使用tar命令,并通过特定选项处理bzip2压缩层,本文将详细介绍Linux下解压.tar.bz2文……

    2025年8月28日
    12900
  • Linux如何查看磁盘与分区信息?

    基础命令:快速查看磁盘使用情况df(Disk Free)作用:查看文件系统挂载点及磁盘空间使用率,常用选项:-h(人类可读格式):df -h-T(显示文件系统类型):df -Th输出示例: Filesystem Type Size Used Avail Use% Mounted on/dev/sda1 ext4……

    2025年6月19日
    14000
  • 如何在win7进入linux系统

    win7系统中可通过安装虚拟机软件如VMware,然后在其中安装Linux系统来进入Linux环境

    2025年8月18日
    15500
  • Linux如何修改文本编码格式?

    在Linux系统中,文本编码格式的处理是日常运维和开发中常见的需求,尤其是在处理多语言文本或跨平台文件时,由于不同系统或软件可能默认使用不同的编码(如UTF-8、GBK、ISO-8859-1等),直接读取或编辑时容易出现乱码,因此掌握修改文本编码格式的方法至关重要,本文将详细介绍Linux环境下查看、转换和修改……

    2025年9月23日
    11300
  • Linux如何查询硬件信息?

    在Linux系统中,查询硬件信息是系统维护、故障排查和性能优化的基础操作,通过命令行工具可以快速获取CPU、内存、硬盘、显卡等硬件的详细信息,以下介绍常用方法和命令,CPU信息查询CPU是系统的核心组件,可通过以下命令查看详细信息:lscpu:以易读格式显示CPU架构、核心数、线程数、主频等,例如输出包含“Ar……

    2025年9月21日
    11300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信