方法一:
磁盘的旋转情况,可以通过查看 rotational 来获知结果。
因此可以通过查看 rotational 来判断 Linux 磁盘是 HDD 还是 SSD 。
比如对于 sda 这个设备,可以通过 cat /sys/block/sda/queue/rotational 得到结果:
cat /sys/block/nvme0n1/queue/rotational0
1 :表示磁盘可旋转, 是 HDD
0 :表示磁盘不可以旋转 , 是 SSD
这种方法有个问题,那就是/sys/block/下面不只有硬盘,还可能有别的块设备,它们都在干扰你的判断。
方法二:
使用lsblk命令进行判断,参数-d表示显示设备名称,参数-o表示仅显示特定的列。
lsblk -d -o name,rotaNAME ROTAloop0 0loop1 0loop2 0loop3 0loop4 0loop5 0nvme0n1 0
注意这个判断仅适用于物理机器,虚拟机好像不太适用
