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

ls /dev 

команда перечисляет файлы устройства.

Как узнать связанные драйверы / major_numbers / minor_numbers с этими файлами устройств?

  • Замена неисправного диска в пуле ZFS
  • Не удается установить eCryptfs
  • / usr / bin vs / usr / local / bin в Linux
  • Ужасная ситуация - файловые системы, смонтированные одновременно несколькими независимыми экземплярами ОС
  • Как зарезервированные блоки GDT используются после изменения размера сети в файловой системе ext3
  • как проверить формат файловой системы
  • Не удается получить доступ к корзине?
  • Сколько индодов мне нужно для доступа к чтению файла?
  • 2 Solutions collect form web for “Информация о файлах устройств: / dev”

    ls -l /dev даст вам основные и младшие номера, например

     crw-rw ---- 1 root dial 4, 64 апреля 4 07:54 / dev / ttyS0
    

    имеет основной номер 4 и младший номер 64.

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

     Символьные устройства:
     ...
       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 находится в самом ядре, а не в модуле, поэтому в квадратных скобках ничего не отображается.

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

    Используйте параметр -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 ... 
    Linux и Unix - лучшая ОС в мире.