$ lsblk --output KNAME,SERIAL /dev/sdb
KNAME SERIAL
sdb 4CEDFB6D543AF360199308B2
пример, найденный в нете. Работает.
Скрипт (работает)
#!/bin/bash
for C in `ls /sys/block/`; do
RE=`cat /sys/block/$C/removable`
if [ $RE == "1" ] ;then
#VENDOR=`/bin/udevadm info --name=/dev/$C | grep ID_VENDOR=|awk -F"=" ' { print $2}'`
#MODEL=`/bin/udevadm info --name=/dev/$C | grep ID_MODEL=|awk -F"=" ' { print $2}'`
#SERIAL=`/bin/udevadm info --name=/dev/$C | grep SERIAL_SHORT|awk -F"=" ' { print $2}'`
#echo $VENDOR-$MODEL"-"$SERIAL #print as per your taste
USB_SERIAL=`/bin/udevadm info --name=/dev/$C | grep ID_SERIAL=|awk -F"=" ' { print $2}'|awk -F"-" ' { print $1}'`
echo $USB_SERIAL #or just the default one
fi
done
Такой утилиты нет, не проверено.
# smartctl /dev/sda -i | grep Serial Serial Number: S1D3LYBG290266