千锋扣丁学堂Linux培训之获取硬盘分区或文件系统UUID的七种方法

xinggm 2019-05-27

今天千锋扣丁学堂Linux培训老师给大家分享一篇关于Linux中获取硬盘分区或文件系统UUID的七种方法,首先作为一个Linux系统管理员,你应该知道如何去查看分区的UUID或文件系统的UUID。因为现在大多数的Linux系统都使用UUID挂载分区。你可以在/etc/fstab文件中可以验证。

千锋扣丁学堂Linux培训之获取硬盘分区或文件系统UUID的七种方法

有许多可用的实用程序可以查看UUID。本文我们将会向你展示多种查看UUID的方法,并且你可以选择一种适合于你的方法。

何为UUID?UUID意即通用唯一识别码UniversallyUniqueIdentifier,它可以帮助Linux系统识别一个磁盘分区而不是块设备文件。

自内核2.15.1起,libuuid就是util-linux-ng包中的一部分,它被默认安装在Linux系统中。UUID由该库生成,可以合理地认为在一个系统中UUID是唯一的,并且在所有系统中也是唯一的。

这是在计算机系统中用来标识信息的一个128位(比特)的数字。UUID最初被用在阿波罗网络计算机系统ApolloNetworkComputingSystem(NCS)中,之后UUID被开放软件基金会OpenSoftwareFoundation(OSF)标准化,成为分布式计算环境DistributedComputingEnvironment(DCE)的一部分。

UUID以32个十六进制的数字表示,被连字符分割为5组显示,总共的36个字符的格式为8-4-4-4-12(32个字母或数字和4个连字符)。

例如:d92fa769-e00f-4fd7-b6ed-ecf7224af7fa

我的/etc/fstab文件示例:

# cat /etc/fstab
 
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
#
UUID=69d9dd18-36be-4631-9ebb-78f05fe3217f / ext4 defaults,noatime 0 1
UUID=a2092b92-af29-4760-8e68-7a201922573b swap swap defaults,noatime 0 2

我们可以使用下面的7个命令来查看:

blkid命令:定位或打印块设备的属性。

lsblk命令:列出所有可用的或指定的块设备的信息。

hwinfo命令:硬件信息工具,是另外一个很好的实用工具,用于查询系统中已存在硬件。

udevadm命令:udev管理工具

tune2fs命令:调整ext2/ext3/ext4文件系统上的可调文件系统参数。

dumpe2fs命令:查询ext2/ext3/ext4文件系统的信息。

使用by-uuid路径:该目录下包含有UUID和实际的块设备文件,UUID与实际的块设备文件链接在一起。

Linux中如何使用blkid命令查看磁盘分区或文件系统的UUID?

blkid是定位或打印块设备属性的命令行实用工具。它利用libblkid库在Linux系统中获得到磁盘分区的UUID。

# blkid
/dev/sda1: UUID="d92fa769-e00f-4fd7-b6ed-ecf7224af7fa" TYPE="ext4" PARTUUID="eab59449-01"
/dev/sdc1: UUID="d17e3c31-e2c9-4f11-809c-94a549bc43b7" TYPE="ext2" PARTUUID="8cc8f9e5-01"
/dev/sdc3: UUID="ca307aa4-0866-49b1-8184-004025789e63" TYPE="ext4" PARTUUID="8cc8f9e5-03"
/dev/sdc5: PARTUUID="8cc8f9e5-05"

Linux中如何使用lsblk命令查看磁盘分区或文件系统的UUID?

lsblk列出所有有关可用或指定块设备的信息。lsblk命令读取sysfs文件系统和udev数据库以收集信息。

如果udev数据库不可用或者编译的lsblk不支持udev,它会试图从块设备中读取卷标、UUID和文件系统类型。这种情况下,必须以root身份运行。该命令默认会以类似于树的格式打印出所有的块设备(RAM盘除外)。

# lsblk -o name,mountpoint,size,uuid
NAME MOUNTPOINT SIZE UUID
sda 30G 
└─sda1 / 20G d92fa769-e00f-4fd7-b6ed-ecf7224af7fa
sdb 10G 
sdc 10G 
├─sdc1 1G d17e3c31-e2c9-4f11-809c-94a549bc43b7
├─sdc3 1G ca307aa4-0866-49b1-8184-004025789e63
├─sdc4 1K 
└─sdc5 1G 
sdd 10G 
sde 10G 
sr0 1024M

Linux中如何使用by-uuid路径查看磁盘分区或文件系统的UUID?

该目录包含了UUID和实际的块设备文件,UUID与实际的块设备文件链接在一起。

# ls -lh /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Jan 29 08:34 ca307aa4-0866-49b1-8184-004025789e63 -> ../../sdc3
lrwxrwxrwx 1 root root 10 Jan 29 08:34 d17e3c31-e2c9-4f11-809c-94a549bc43b7 -> ../../sdc1
lrwxrwxrwx 1 root root 10 Jan 29 08:34 d92fa769-e00f-4fd7-b6ed-ecf7224af7fa -> ../../sda1

Linux中如何使用hwinfo命令查看磁盘分区或文件系统的UUID?

hwinfo意即硬件信息工具,是另外一种很好的实用工具。它被用来检测系统中已存在的硬件,并且以可读的格式显示各种硬件组件的细节信息。

# hwinfo --block | grep by-uuid | awk '{print $3,$7}'
/dev/sdc1, /dev/disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7
/dev/sdc3, /dev/disk/by-uuid/ca307aa4-0866-49b1-8184-004025789e63
/dev/sda1, /dev/disk/by-uuid/d92fa769-e00f-4fd7-b6ed-ecf7224af7fa

Linux中如何使用udevadm命令查看磁盘分区或文件系统的UUID?

udevadm需要命令和命令特定的操作。它控制systemd-udevd的运行时行为,请求内核事件、管理事件队列并且提供简单的调试机制。

# udevadm info -q all -n /dev/sdc1 | grep -i by-uuid | head -1
S: disk/by-uuid/d17e3c31-e2c9-4f11-809c-94a549bc43b7

Linux中如何使用tune2fs命令查看磁盘分区或文件系统的UUID?

tune2fs允许系统管理员在Linux的ext2、ext3、ext4文件系统中调整各种可调的文件系统参数。这些选项的当前值可以使用选项-l显示。

# tune2fs -l /dev/sdc1 | grep UUID
Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7

Linux中如何使用dumpe2fs命令查看磁盘分区或文件系统的UUID?

dumpe2fs打印出现在设备文件系统中的超级块和块组的信息。

# dumpe2fs /dev/sdc1 | grep UUID
dumpe2fs 1.43.5 (04-Aug-2017)
Filesystem UUID: d17e3c31-e2c9-4f11-809c-94a549bc43b7

以上就是关于千锋扣丁学堂Linux培训之获取硬盘分区或文件系统UUID的七种方法,想要学好Linux开发小编给大家推荐口碑良好的扣丁学堂,扣丁学堂有专业老师制定的Linux学习路线图辅助学员学习,此外还有与时俱进的Linux课程体系和Linux视频教程供大家学习,想要学好Linux开发技术的小伙伴快快行动吧。

相关推荐