编写一个shell脚本,检查linux系统使用lsblk等所有ssd硬盘的配置信息包括容量、型号、FW、速度、序列号、协议等信息
时间: 2023-10-20 15:14:47 浏览: 42
以下是一个可以完成上述任务的shell脚本:
```bash
#!/bin/bash
# 获取所有SSD硬盘的设备名称
devices=$(lsblk -d -o name,rota | grep "^sd" | grep -v " 1$" | awk '{print $1}')
# 循环遍历每个设备,获取其配置信息
for dev in $devices; do
echo "Device: $dev"
echo "Capacity: $(lsblk -b -o size /dev/$dev)"
echo "Model: $(hdparm -I /dev/$dev | grep "Model Number:" | awk -F': ' '{print $2}')"
echo "Firmware Version: $(hdparm -I /dev/$dev | grep "Firmware Revision:" | awk -F': ' '{print $2}')"
echo "Speed: $(hdparm -I /dev/$dev | grep "PIO" | awk -F': ' '{print $2}')"
echo "Serial Number: $(hdparm -I /dev/$dev | grep "Serial Number:" | awk -F': ' '{print $2}')"
echo "Protocol: $(nvme id-ctrl /dev/$dev | grep "NVMe Version" | awk '{print $3}')"
echo ""
done
```
该脚本首先使用`lsblk`命令获取所有SSD硬盘的设备名称,然后使用循环遍历每个设备,并使用`hdparm`和`nvme`命令获取其容量、型号、FW、速度、序列号和协议等信息,并输出到终端。