如何使用uuid获取U盘的挂载点?

ted*_*mul 7 linux ubuntu partition bash uuid

我是 ubuntu linux 的初学者,我需要编写简单的 bash 脚本,该脚本可以使用该分区的 uuid识别必要的闪存驱动器(仅包含一个vfat分区),并获取该闪存驱动器的挂载点。/etc/fstab文件不包含此驱动器的 mountig 规则。例如,让分区 uuid 为 7DCD-9380 使用 readlink 工具我可以在/dev目录中获取设备链接:

teddy@st1:~$ readlink -f /dev/disk/by-uuid/7DCD-9380  
/dev/sdc1
Run Code Online (Sandbox Code Playgroud)

但是我如何获得/dev/sdc1设备的挂载点?

小智 9

你所追求的是findmnt。例如:

$ findmnt -rn -S UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -o TARGET
/mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)

或者

$ findmnt -rn -S PARTUUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -o TARGET
/mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)

如果没有与该 UUID 匹配的挂载,则不输出任何内容,返回代码为 1(失败),否则,输出挂载点,返回代码为 0(成功)。

选项说明

$ findmnt -rn -S UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx -o TARGET
/mnt/mountpoint
Run Code Online (Sandbox Code Playgroud)


Bar*_*Vos 2

mount知道这一点。

例子:

mount | grep /dev/sdc1
Run Code Online (Sandbox Code Playgroud)

或者(可能更快):

grep '/dev/sdc1' /etc/mtab
Run Code Online (Sandbox Code Playgroud)

  • 啊,当时我没听懂这个问题。您还可以使用“/etc/mtab”。 (2认同)