Информация о файлах устройств:/dev

Попытайтесь использовать это awk команда:

setxkbmap -query | grep layout | awk '{print $2}'

или используйте cut команда

setxkbmap -query | grep layout | cut -d : -f2

4
23.05.2013, 17:53
2 ответа

ls -l /dev даст Вам главные и незначительные числа, например.

crw-rw---- 1 root dialout 4, 64 Apr  4 07:54 /dev/ttyS0

имеет главный номер 4 и незначительный номер 64.

Затем можно посмотреть на /proc/devices искать главное число. В этом примере у нас есть устройство посимвольного ввода-вывода (c в начале строки) с главным числом 4, и в /proc/modules мы находим

Character devices:
...
  4 tty
  4 ttyS

Выделение незначительных чисел является зависящим от устройств.

Некоторые устройства управляются из базового кода ядра (например. tty), тогда как другими управляют загружаемые модули (например. rfcomm). Вы могли попытаться заглянуть /proc/modules для модуля соответствия; альтернативно загляните /proc/kallsyms для имени модуля. Вы получите много результатов, но ключевой вещью искать является присутствие или отсутствие строки в квадратных скобках. Например, grep tty /proc/kallsyms дает

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

тогда как grep rfcomm /proc/kallsyms gievs

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

[rfcomm] указывает, что код находится в rfcomm модуль, тогда как tty находится в самом ядре а не в модуле, таким образом, ничто не появляется в квадратных скобках.

Этот метод не является категоричным, но должен дать Вам некоторое представление как, туда, где код управления живет.

5
27.01.2020, 20:50
  • 1
    Спасибо. Теперь для (символьного) узла, я получил его главное число, незначительное число, связанное имя устройства. Как найти связанную программу драйвера устройства? –  Karthi prime 04.04.2013, 13:12
  • 2
    я добавил некоторую деталь о драйверах к моему ответу. –  Flup 04.04.2013, 13:19
  • 3
    Да, я получил некоторое представление. Но информацией, которую я знаю, является главное число, незначительное число, имя устройства: который не используется в нахождении программы драйвера устройства (модули), с помощью/proc/modules или/proc/kallsyms права? –  Karthi prime 04.04.2013, 13:30
  • 4
    Главное число используется для поиска имени устройства в /proc/modules, и имя устройства используется для поиска символов ядра или модулей. –  Flup 04.04.2013, 13:36

Используйте -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
...
3
27.01.2020, 20:50

Теги

Похожие вопросы