26 lines
732 B
Bash
26 lines
732 B
Bash
#!/bin/bash
|
|
|
|
function drives(){
|
|
local OUT_FILE=$1
|
|
DISKS=$(lsblk -d -n -o NAME,TYPE | awk '$2=="disk"{print $1}')
|
|
for disk in $DISKS; do
|
|
DEV="/dev/$disk"
|
|
SIZE=$(lsblk -d -n -o SIZE "$DEV")
|
|
MODEL=$(lsblk -d -n -o MODEL "$DEV" | sed 's/ *$//')
|
|
TRAN=$(lsblk -d -n -o TRAN "$DEV")
|
|
ROTA=$(cat /sys/block/$disk/queue/rotational 2>/dev/null)
|
|
TYPE="Unknown"
|
|
# NVMe drives are typically M.2 (or PCIe SSD)
|
|
if [[ "$disk" == nvme* ]]; then
|
|
TYPE="M.2 / NVMe SSD"
|
|
else
|
|
if [[ "$ROTA" == "1" ]]; then
|
|
TYPE="HDD"
|
|
elif [[ "$ROTA" == "0" ]]; then
|
|
TYPE="SSD"
|
|
fi
|
|
fi
|
|
echo -e "DEV:$DEV\tSIZE:$SIZE\tTYPE:$TYPE" >>"$OUT_FILE"
|
|
done
|
|
}
|