특정 장치 파일 뒤에는 어떤 드라이버가 있습니까?

특정 장치 파일 뒤에는 어떤 드라이버가 있습니까?

예를 들어 장치 파일이 주어지면 /dev/sdb그 뒤에 있는 드라이버를 확인할 수 있습니까?

특히 내 저장 장치가 어떤 드라이버를 사용하고 있는지 확인하고 싶습니다. fdisk -l2개의 장치가 나열됩니다: /dev/sda/dev/sdb. 하나는 SATA 하드 드라이브이고 다른 하나는 USB 대용량 저장 장치(실제로는 SD 카드)입니다.

프로그래밍 방식으로 어느 것이 무엇인지 결정하는 방법은 무엇입니까?

저는 소프트웨어를 작성 중이며 초보자가 SD 카드를 삭제할 수 있도록 허용하면서 하드 드라이브를 삭제하지 못하도록 보호하고 싶습니다.

답변1

udevadm info -a -n /dev/sda출력을 실행 하고 구문 분석합니다. 이런 줄이 보이실 겁니다

DRIVERS=="ahci"

드라이버를 사용하는 SATA 디스크의 경우 ahci또는

DRIVERS=="usb-storage"

USB 연결 장치의 경우. 확인을 위해 공급업체와 모델명을 표시할 수도 있습니다. 반품,

ATTR{removable}=="1"

이동식 장치에 표시됩니다.

이 모든 정보는 /sys(실제로 udevadm가서 살펴보세요)를 통해서도 확인할 수 있지만 /sys인터페이스는 수시로 변경되므로 udevadm장기적으로 구문 분석이 더욱 강력해집니다.

관련 정보