cat /proc/scsi/usb-storage/27
------------------
Host scsi27: usb-storage
Vendor: SanDisk
Product: Cruzer Blade
Serial Number: 4C530000230331109030
Protocol: Transparent SCSI
Transport: Bulk
Quirks: SANE_SENSE
펜 드라이브를 연결할 때마다 호스트csi 번호가 계속 변경되기 때문입니다.
답변1
사용 lsblk
:
$ lsblk --output KNAME,SERIAL /dev/sdb
KNAME SERIAL
sdb 4CEDFB6D543AF360199308B2
동일한 장치로 두 번 테스트했는데 항상 동일한 일련 번호가 나왔습니다.
답변2
내가 사용하는 smartctl
도구 :
# smartctl /dev/sda -i | grep Serial
Serial Number: S1D3LYBG290266
나는 전자가 사람이 읽기 더 쉽기 때문에 이것을 선호 lsblk
하지만, bash 스크립트에서 필요하다면 쓸모가 없습니다.
답변3
많은 검색 끝에 다른 사람들에게도 유용할 수 있는 더 나은 스크립트를 생각해 냈습니다. 펜 드라이브 등과 같은 이동식 장치만 표시됩니다. 이 스크립트는 내 centos7의 모든 사용자에게 작동합니다.
#!/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
JetFlash_Transcend_4GB_08XHIHH4