标签:功能 UUID 虚拟机 fstab etc sed 挂载 三剑客 uuid
blkid | grep 'UUID' | sed -n '5p' | sed -E 's/.*UUID="([^"]+)".*/\1/' | xargs -I {} echo "UUID={} /mnt/disk1 xfs defaults 0 0" >> /etc/fstab
简单的脚本详细解释在下面:
1. blkid
- 功能:列出系统中所有块设备的 UUID、类型等信息。
- 输出示例:会显示每个设备的 UUID,例如:
/dev/sda1: UUID="123e4567-e89b-12d3-a456-426614174000" TYPE="ext4"
2. grep 'UUID'
- 功能:从 `blkid` 的输出中筛选出包含 `UUID` 的行。
- 作用:只保留那些包含 UUID 的行,去掉其他信息。
3. sed -n '5p'
- 功能:仅打印出第五行。
- 参数说明:
- -n:不自动打印模式空间中的内容。
- '5p':表示打印第 5 行。
4. sed -E 's/.*UUID="([^"]+)".*/\1/'
- 功能:提取 UUID 的值。
- 参数说明:
- -E:启用扩展正则表达式。
- s/.*UUID="([^"]+)".*/\1/:替换操作,提取 UUID。
- .*UUID=":匹配任意字符,直到 `UUID="`。
- ([^"]+):捕获组,匹配一个或多个非引号字符(实际的 UUID)。
- .*:匹配引号后的任意字符。
- \1:输出第一个捕获组中的内容,也就是 UUID。
5. xargs -I {}
- 功能:将前一步的输出作为参数传递给后面的命令。
- -I {}:指定一个替代字符串 `{}`,在后面的命令中使用它。
6. echo "UUID={} /mnt/disk1 xfs defaults 0 0"`
- 功能:构造一行新的 `/etc/fstab` 记录。
- 内容解释:
- UUID={}:使用提取的 UUID 替换 `{}`。
- /mnt/disk1:挂载点。
- xfs:文件系统类型。
- defaults:挂载选项。
- 0 0:dump 和 fsck 选项。
7. >> /etc/fstab
- 功能:将前面的输出追加到 `/etc/fstab` 文件中。
- 注意:在操作系统中,`/etc/fstab` 是一个重要的配置文件,记录了文件系统的挂载信息。
总结
这条命令的总体作用是从所有块设备中提取出第五个 UUID,并构造一条新的 `/etc/fstab` 记录,最后将其追加到该文件中。请确保在执行时具有足够的权限(通常需要 `sudo`)。
标签:功能,
UUID,
虚拟机,
fstab,
etc,
sed,
挂载,
三剑客,
uuid
From: https://blog.csdn.net/2302_76662992/article/details/143406904