如果 EBS 卷上已有文件系统,我如何在 bash 中进行测试?

How can I test in bash if an EBS volume already has a filesystem on it?

我正在将现有的 EBS 卷附加到我的新 EC2 实例。但是我不知道该卷是否已经有一个文件系统类型。

当我尝试 mount 时,出现错误:

mount: wrong fs type, bad option, bad superblock on /dev/xvd...

我必须 运行 mkfs 才能初始化文件系统:

mkfs -t ext4 /dev/xvdi

但如果文件系统已经初始化,我不想运行这样做。 (当 ext3 已经存在时,我可能会破坏创建 ex4 的东西)

所以我需要一种在挂载卷之前读取文件系统类型的方法,我该怎么做?

唯一想到的就是mount音量,等待开头提到的错误

mount /dev/xvd... /my/volume/path

尝试blkid -o value -s TYPE /dev/xvd确定卸载设备上的文件系统。比解析 file -s /dev/xvd.

更容易