자동으로 마운트되지 않는 여러 USB 드라이브를 연결한다고 가정 해보십시오. 어떤 장치 파일이 어떤 물리적 장치에 속하는지 어떻게 알 수 있습니까? 예를 들어 마운트 할 수 있습니까?
나는 Mac OS X를 사용하고 있지만 모든 (또는 적어도 가장 인기있는) Unix 시스템에서 작동하는 답변을 좋아합니다. 과거에 Linux 에서이 문제가있었습니다.
답변
udev 사용하기 :
유용한 정보 쿼리를 얻을 수 있습니다 udev
(거의 모든 데스크탑 유형 Linux를 사용하는 시스템에서). 예를 들어, 연결된 연결된 드라이브를 알고 싶다면 /dev/sdb
다음을 사용할 수 있습니다.
udevadm info --query=property --name=sdb
일련 번호 (ID_SERIAL_SHORT)를 포함하여 해당 장치의 속성 목록이 표시됩니다. 해당 정보가 있으면 lsusb -v
제조업체 및 제품 이름과 같은 결과를 보고 찾을 수 있습니다.
이를위한 짧은 경로는
udevadm info --query=property --name=sdb | grep "\(MODEL_ID\|VENDOR_ID\)"
$ID_VENDOR_ID:$ID_MODEL_ID
보다 짧은 출력에서 일치하는 라인을 참조하십시오 lsusb
.
또 다른 유용한 옵션은 udevadm monitor
입니다. 장치 를 연결할 때 어떤 장치 노드가 만들어 졌는지 알고 싶다면 사용하십시오 . 첫 실행
udevadm monitor --udev --subsystem-match=block
그런 다음 장치를 연결하십시오. 감지 된 블록 장치 (디스크 / 파티션)의 장치 이름이 각 출력 라인의 끝에 인쇄 된 것을 볼 수 있습니다.
실제 예제 쉘 함수 :
다음은 .bashrc
(또는 .zshrc
)에 넣을 수있는 기능입니다 .
listusbdisks () { [[ "x $ 1"== "xv"]] && shift && 로컬 VERBOSE = -v $ {@-/ dev / sd에서 dsk에 대해?} 하다 / sbin / udevadm info --query = path --name = "$ dsk"| grep --colour = auto -q usb || 계속하다 echo "===== 장치 $ dsk는 :" (평가 $ (/ sbin / udevadm info --query = property --name = "$ dsk"| grep "\ (MODEL \ | VENDOR \) _ ID") [ "$ ID_VENDOR_ID : $ ID_MODEL_ID"== ":"] && echo "알 수 없음"|| \ lsusb $ VERBOSE -d "$ ID_VENDOR_ID : $ ID_MODEL_ID" ) grep -q "$ dsk"/ proc / mounts && echo "----- 장치가 마운트되었습니다 ----" 에코 끝난 }
다음과 같이 사용하십시오 :
listusbdisks
-모든/dev/sdx
장치 를 인식 합니다.listusbdisks sdb
또는listusbdisks /dev/sdb
또는listusbdisks sdb sdc
-특정 장치에 대한 정보 만 가져옵니다.listusbdisks -v [optional devices as above]
-자세한 출력을 표시합니다lsusb
[편집] : 많은 장치 쿼리, 마운트 확인 및의 상세 제어와 같은 기능이 추가되었습니다 lsusb
.
답변
보편적 인 대답은 없습니다. Linux에서 가장 간단한 방법은 그놈 디스크 유틸리티를 시작하는 것입니다. 감지 된 모든 디스크가 마운트되었는지 여부에 관계없이 표시됩니다. 명령 행에서 blkid
또는 의 출력을 참조 할 수 있습니다 udevadm info --export-db
.
답변
Mac OS X에서는을 사용해보십시오 diskutil list
.
답변
모든 유닉스와 관련하여 이것이 가능하다고 생각하지 않습니다.
오늘날 일반적인 외부 버스는 IDE처럼 고정 된 번호 체계를 포트에 사용하지 않습니다. 따라서 매핑에 필요한 나머지 데이터 소스는 드라이브 제조업체 이름, 일련 번호 또는 파티션 UID입니다.
특정 머신에서 제조업체 이름이 반드시 고유하지는 않습니다 (동일한 시리즈에서 두 개의 외부 드라이브를 연결한다고 가정하면 동일하게 식별 됨). 일련 번호는 파티션 UID와 같이 “외부에서 볼 수 없습니다”.
따라서 내가 생각할 수있는 유일한 범용 솔루션에 대해서는 물리적 드라이브에 일련 번호로 레이블을 지정하고 UDEV를 사용할 수있는 경우 rozcietrzewiacz의 답변에 제공된 udevadm 명령을 사용하는 것입니다.