장치 파일에 대한 정보: /dev

장치 파일에 대한 정보: /dev
ls /dev 

명령은 장치 파일을 나열합니다.

어떻게 아는가관련 드라이버/major_numbers/minor_numbers 및 해당 장치 파일은 무엇입니까?

답변1

ls -l /dev기본 및 보조 번호를 알려줍니다.

crw-rw---- 1 루트 다이얼아웃 4, 64 4월 4일 07:54 /dev/ttyS0

주 장치 번호는 4이고 부 장치 번호는 64입니다.

/proc/devices그러면 대표번호를 확인할 수 있습니다 . 이 예에는 주요 번호( c줄 시작 부분) 가 있는 문자 장치가 있으며 4, 그 후에 /proc/modules

캐릭터 장치:
...
  4개의 터미널
  4개의 터미널

마이너 번호 할당은 장치에 따라 다릅니다.

일부 장치는 핵심 커널 코드(예: tty)에 의해 구동되는 반면, 다른 장치는 로드 가능한 모듈(예: rfcomm)에 의해 관리됩니다. /proc/modules일치하는 모듈을 찾 거나 /proc/kallsyms모듈 이름을 찾아보세요. 많은 결과를 얻을 수 있지만, 찾고 있는 핵심은 대괄호 안에 문자열이 있는지 여부입니다. 예를 들어, grep tty /proc/kallsyms주어진

0000000000000000t tty_drivers_open
0000000000000000t show_tty_range
0000000000000000t show_tty_driver
...

grep rfcomm /proc/kallsyms지브스

0000000000000000t rfcomm_apply_pn [rfcomm]
0000000000000000t rfcomm_dlc_debugfs_open [rfcomm]
0000000000000000t rfcomm_dlc_debugfs_show [rfcomm]

[rfcomm]코드가 rfcomm모듈 에 있지만 tty모듈이 아닌 커널 자체에 있으므로 대괄호 안에 아무것도 표시되지 않음을 나타냅니다.

이 방법은 결정적이지는 않지만 제어 코드가 어디에 있는지에 대한 아이디어를 제공해야 합니다.

답변2

-l숫자를 표시하려면 옵션을 사용하세요 .

$ ls -l /dev/sda*
brw-rw---- 1 root disk 8,  0 Jan 22 10:34 /dev/sda
brw-rw---- 1 root disk 8,  1 Dec  4 13:24 /dev/sda1
brw-rw---- 1 root disk 8,  2 Dec  4 13:24 /dev/sda2
brw-rw---- 1 root disk 8,  3 Dec  4 13:24 /dev/sda3
...

stat이것도 표시합니다("장치 유형"으로).

$ stat /dev/sda
  File: '/dev/sda'
  Size: 0               Blocks: 0          IO Block: 4096   block special file
Device: 5h/5d   Inode: 3431        Links: 1     Device type: 8,0
...

관련 정보