내장하드와 외장하드를 구별할 수 있는 방법이 있나요?
실제로 우리가 가지고 있는 외장 하드 드라이브 수와 해당 드라이브가 연결된 서버를 확인해야 합니다.
이건 제가 찍은 스크린샷인데, 이름에서 알 수 있듯이 SDE는 외장하드입니다. 하지만 잘 모르겠습니다.
그러니 도와주세요.
추후 조치
좋아, 이제 lsusb를 사용하는데 Western Digital 드라이브가 연결되어 있고 해당 드라이브 문자가 SDE라고 표시됩니다. 그러나 dmesg를 사용하면 sdb도 이동식 디스크라는 것을 알 수 있습니다. 어떤 제안이라도
'sd 0:0:1:0: Attached scsi removable disk sdb
Vendor: WDC Model: WD2500YD-01NVB1 Rev: 10.0
Type: Direct-Access ANSI SCSI revision: 05
Vendor: WDC Model: WD2500YD-01NVB1 Rev: 10.0
Type: Direct-Access ANSI SCSI revision: 05
Vendor: WDC Model: WD2500YD-01NVB1 Rev: 10.0
Type: Direct-Access ANSI SCSI revision: 05
Vendor: WDC Model: WD2500YD-01NVB1 Rev: 10.0
Type: Direct-Access ANSI SCSI revision: 05
답변1
@umair sdb가 제거 가능한 것으로 표시되는 이유를 잘 모르겠습니다. 이 스크립트의 o/p를 게시할 수 있습니까?
for device in /sys/block/*
do
if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
then
echo $device
fi
done
답변2
나는 이 원 라이너를 사용하는 것을 좋아합니다.
find /dev/disk/by-path -name "*-usb-*" -not -name "*-part*" -exec readlink -f {} \;
1) 경로 어딘가에 USB가 있는 모든 장치를 나열하고, 2) 파티션을 필터링하고, 마지막으로 3) 그것이 가리키는 링크를 읽습니다. 출력 예:
/dev/sdc
중요 사항:
- 다른 버스(예: eSATA, FireWire 등)를 사용하여 연결된 외부 디스크에서는 작동하지 않습니다.
- USB 플래시 드라이브와 일반 회전 하드 드라이브를 구별할 수 없습니다.