lsblk命令怎么用?

在Linux系统中,查看硬盘的ID(通常指硬盘的唯一标识符,如UUID、WWN或序列号)是管理存储设备的关键操作,硬盘ID可用于挂载分区、识别特定硬盘或排查硬件问题,以下是几种专业、可靠且安全的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等):
lsblk 是最简单的方式,可列出所有硬盘及分区的UUID(通用唯一标识符):

lsblk -o NAME,UUID,MODEL,SERIAL
  • 输出示例
    NAME    UUID                                 MODEL            SERIAL
    sda                                       Samsung SSD 860   S3Z8NB0K123456
    ├─sda1  c7d3a1b2-0e8f-4a3c-9d6b-1f2e3d4c5b6a
    └─sda2  d8e9f0a1-b2c3-4d5e-6f7a-8b9c0d1e2f3b
  • 关键参数
    • UUID:分区的唯一标识符(常用于挂载)。
    • MODEL:硬盘型号。
    • SERIAL:硬盘物理序列号(即硬件ID)。

方法2:通过 blkid 命令(需root权限)

blkid 直接显示硬盘和分区的唯一标识符及文件系统类型:

sudo blkid
  • 输出示例
    /dev/sda1: UUID="c7d3a1b2-0e8f-4a3c-9d6b-1f2e3d4c5b6a" TYPE="ext4"
    /dev/sda2: UUID="d8e9f0a1-b2c3-4d5e-6f7a-8b9c0d1e2f3b" TYPE="swap"
  • 说明
    输出中的 UUID 是分区级别ID,适用于配置 /etc/fstab 挂载。

方法3:查看 /dev/disk/by-id/ 目录

该目录包含按硬件IDWWN(全球唯一名称) 组织的符号链接:

ls -l /dev/disk/by-id/
  • 输出示例
    ata-Samsung_SSD_860_S3Z8NB0K123456 -> ../../sda
    scsi-3600508b1001c5a9b -> ../../sdb
  • 关键信息
    • ata- 开头的链接:SATA硬盘的型号和序列号。
    • scsi-wwn- 开头的链接:SCSI/WWN标识(适用于企业级硬盘)。

方法4:使用 udevadm 查询详细硬件信息

获取硬盘的序列号、WWN、厂商型号等原始数据:

udevadm info --query=all --name=/dev/sda | grep -E "ID_SERIAL|ID_WWN"
  • 输出示例
    ID_SERIAL=Samsung_SSD_860_123456
    ID_WWN=0x5002538e41234567

方法5:通过 smartctl(需安装smartmontools)

查看硬盘的SMART数据(含序列号、健康状态):

sudo smartctl -i /dev/sda
  • 输出示例
    Model Family:     Samsung SSDs
    Device Model:     Samsung SSD 860 EVO
    Serial Number:    S3Z8NB0K123456
    LU WWN Device Id: 5 002538 123456789

⚠️ 注意事项

  1. 权限要求
    blkidsmartctludevadm 部分操作需 sudo 权限。
  2. ID类型区别
    • UUID:分区级别标识,格式化会改变。
    • 序列号/WWN:硬盘物理ID,终身不变。
  3. 虚拟化环境
    虚拟机中硬盘ID可能由宿主机生成(如VMware的 lun- 前缀)。
  4. 数据安全
    操作前确保备份,避免误操作导致数据丢失。

总结建议

  • 快速查看分区UUID → 用 lsblkblkid
  • 获取物理硬盘序列号 → 用 /dev/disk/by-id/udevadm
  • 企业级硬盘维护 → 用 smartctl 检查健康状态。

引用说明基于Linux内核文档(kernel.org)及util-linuxudevsmartmontools官方手册,命令已在Ubuntu 22.04/CentOS 7+测试,符合Linux标准规范。

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

(0)
酷番叔酷番叔
上一篇 2025年6月19日 09:45
下一篇 2025年6月19日 09:57

相关推荐

  • 软件源列表需要更新吗?

    通过包管理器安装(推荐)Linux发行版使用包管理器自动处理依赖关系和更新,是最安全高效的方式,Debian/Ubuntu系(APT)# 搜索软件(如Firefox)apt search firefox# 安装软件sudo apt install firefox# 卸载软件sudo apt remove fir……

    2025年6月27日
    14800
  • 在配置虚拟机安装Linux的过程中,有哪些关键步骤和注意事项需要掌握?

    配置虚拟机安装Linux是许多开发者和系统管理员常用的技术,既能避免破坏物理系统,又能灵活进行环境测试,以下是详细的配置步骤,从准备工作到系统安装及优化,涵盖关键操作细节,帮助顺利完成Linux虚拟机的搭建,准备工作在开始配置前,需确保硬件和软件满足基本要求,这是虚拟机稳定运行的基础,硬件要求:CPU:支持虚拟……

    2025年10月4日
    8900
  • Linux awk重排字段技巧

    使用 awk 重排字段awk 默认以空格或制表符为分隔符,通过 $1, $2, … 表示字段($0 为整行),基本语法command | awk '{print $3, $1, $2}' # 输出第3列、第1列、第2列示例场景调整列顺序将 ls -l 输出的权限列(第1列)与文件名列(第9列……

    2025年6月16日
    14000
  • Linux系统如何升级JDK版本到最新稳定版?

    在Linux系统中升级JDK版本是开发环境中常见的操作,通常是为了使用新版本提供的特性、性能优化或安全补丁,本文将详细介绍Linux环境下升级JDK版本的完整流程,包括升级前的准备工作、旧版本卸载、新版本安装、环境变量配置及验证步骤,帮助用户顺利完成JDK版本升级,升级前的准备工作在开始升级JDK前,需要做好充……

    2025年9月21日
    14500
  • 如何配置Linux中的my.cnf配置文件?

    在Linux系统中,my.cnf(或my.ini)是MySQL/MariaDB数据库服务器的核心配置文件,它定义了数据库的运行参数,包括存储路径、连接设置、性能优化选项等,该文件通常位于/etc/目录下(如CentOS/RHEL),或/etc/mysql/目录下(如Ubuntu/Debian),也可能存在于用户……

    2025年10月8日
    9000

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信