특정 저장 장치는 어떤 장치 파일에 매핑됩니까?

특정 저장 장치는 어떤 장치 파일에 매핑됩니까?

나는 이것을 전혀 이해하지 못했다는 것을 알았습니다. Linux는 /dev/sd[a-z]SATA 및 USB(및 기타 여러 유형) 저장 장치를 "검색" 순서대로 장치 파일에 매핑합니다. 이제 CF 플래시 카드가 SATA를 통해 컴퓨터에 연결된다는 것을 알고 있다고 가정하면 어떤 장치 파일이 있는지 어떻게 알 수 있습니까? 물론, 그냥 볼 수도 있지만 dmesg프로그래밍 방식으로 하고 싶다면 어떻게 해야 할까요? 파싱 ​​중이신가요? 이는 좋은 해결책이 아닙니다. 커널은 이 문제를 해결하기 위해 API를 제공해야 하며, 간단해야 한다고 생각합니다. 그러나 지금까지 나는 그것을 찾지 못했습니다.

오늘날 Linux는 장치 파일을 찾는 데 필요한 정보를 얻을 수 있는 파일 시스템( sysfs, procfs, ) 에 많은 시스템 정보를 기록합니다 . etc그러나 이는 컴파일 타임에 활성화되는 기능에 따라 달라집니다. 나는 화려한 fs 요소 없이 최소한의 코어에서도 실행되는 솔루션을 찾고 있습니다.

답변1

/dev/disk/libudev API를 사용하여 udev와 상호 작용하는 영구 이름이나 상위 수준 소프트웨어를 사용할 수 있습니다 .

관련 정보