USB를 통해 연결된 장치 만 나열하고 싶습니다.
문제는 Ubuntu가 모든 썸 드라이브를 이동식 ( /sys/block/*/removable
) 으로 보는 것처럼 보이지만 외장 하드 드라이브는 같은 방식으로 보이지 않습니다.
이것은 USB 장치를 감지하는 방법 보다 조금 더 구체적 입니까?
USB를 통해 연결된 장치 만 나열하고 싶습니다.
문제는 Ubuntu가 모든 썸 드라이브를 이동식 ( /sys/block/*/removable
) 으로 보는 것처럼 보이지만 외장 하드 드라이브는 같은 방식으로 보이지 않습니다.
이것은 USB 장치를 감지하는 방법 보다 조금 더 구체적 입니까?
답변:
장치의 udev 속성, 특히 속성을 확인하는 것이 좋습니다 ID_BUS
.
for device in /sys/block/*
do
if udevadm info --query=property --path=$device | grep -q ^ID_BUS=usb
then
echo $device
fi
done
편집 : 시간이 있으면이 게시물을 다시 방문하여 USB 장치 만 나열하도록합니다. 현재 /media
로서는 일부 사람들에게 충분할만큼 장착 된 모든 장치가 나열 되어 있습니다.
/media
여기의 다른 모든 답변은 비 USB 저장 장치 또는 비 저장 USB 장치를 필터링하지 못하는 것으로 보입니다. 다음은 USB를 통해 연결된 저장 장치 만 나열해야하는 명령입니다. 다른 사람에게는 중요하지 않은 한 가지 예외는 마운트 된 미디어가있는 연결된 USB 광 드라이브를 표시하지 않는다는 것입니다.
이것이 작동하기위한 요구 사항
/media
디렉토리 . USB 장치가 다른 곳에 마운트되도록 fstab에 구성된 경우 다음 명령을 조정해야합니다USB 저장 장치 나열
필자가 작성중인 스크립트의 경우 개별 파티션을 나열합니다. 다음은 두 가지 명령입니다. 하나는 연결된 장치의 파티션을 나열하고 다른 하나는 단순히 장치를 나열합니다.
파티션 나열 :
lsblk | grep /media | grep -oP "sd[a-z][0-9]?" | awk '{print "/dev/"$1}'
샘플 출력 :
/dev/sdd1
/dev/sdi1
/dev/sdj1
/dev/sdj2
장치 나열 :
lsblk | grep /media | grep -oP "sd[a-z]" | awk '{print "/dev/"$1}' | sort | uniq
샘플 출력 :
/dev/sdd
/dev/sdi
/dev/sdj
/media
어떻습니까?