Todos los archivos de /dev
son archivos especiales ... que representan dispositivos del ordenador. Fueron creados con el mknod
syscall. Mi pregunta es: ¿cómo puedo saber el número menor y números principales que se utilizaron para crear este archivo especial?saber los números de un archivo especial de dispositivo mayor y menor en Linux
Respuesta
La lista se llama LANANA Linux Device List, y está administrada por Alan Cox.
Puede encontrar el latest copy en línea (direct link), o en la fuente de Linux. Su nombre de archivo en el árbol del kernel es Documentation/devices.txt
.
Para ver los números mayor y menor que crearon un nodo en /dev
(o cualquier nodo de dispositivo para el caso), sólo tiene que utilizar ls
con la opción -l
:
22:26 [email protected]% ls -l /dev/xvd?
brw-rw---- 1 root disk 202, 0 Nov 1 20:31 /dev/xvda
brw-rw---- 1 root disk 202, 16 Nov 1 20:31 /dev/xvdb
brw-rw---- 1 root disk 202, 32 Nov 1 20:31 /dev/xvdc
En este ejemplo, 202
es el de tres el número principal de dispositivos, y 0
, 16
y 32
son menores de edad. El b
a la izquierda indica que el nodo es un dispositivo de bloque. La alternativa es c
, un dispositivo de caracteres:
crw-rw-rw- 1 root tty 5, 0 Nov 22 00:29 /dev/tty
$ ls -l /dev/fd0 /dev/null brw-rw---- 1 root floppy 2, 0 Nov 22 19:48 /dev/fd0 crw-rw-rw- 1 root root 1, 3 Nov 22 19:48 /dev/null $ stat -c '%n: %F, major %t minor %T' /dev/fd0 /dev/null /dev/fd0: block special file, major 2 minor 0 /dev/null: character special file, major 1 minor 3
La mayoría de los números de dispositivo son fijos (es decir /dev/null
siempre será 1:3
dispositivo de caracteres), pero en Linux, algunos se asignan dinámicamente.
$ cat /proc/devices Character devices: ... 10 misc ... Block devices: ... 253 mdp 254 device-mapper $ cat /proc/misc ... 57 device-mapper ...
Por ejemplo, en este sistema, da la casualidad de que /dev/mapper/control
habrá c:10:57
mientras que el resto de /dev/mapper/*
será b:254:*
, y esto puede diferir de un ciclo de arranque a otro - o incluso como módulos son cargados/descargado y los dispositivos se agregan/eliminan.
se puede explorar estos registros de dispositivos aún más en /sys
.
$ readlink /sys/dev/block/2:0 ../../devices/platform/floppy.0/block/fd0 $ cat /sys/devices/platform/floppy.0/block/fd0/dev 2:0 $ readlink /sys/dev/char/1:3 ../../devices/virtual/mem/null $ cat /sys/devices/virtual/mem/null/dev 1:3
También puede usar stat.
$ stat -c 'major: %t minor: %T' <file>
Especialmente para los dispositivos de bloque:
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 90G 0 disk
├─sda1 8:1 0 4G 0 part [SWAP]
├─sda2 8:2 0 4G 0 part/
alternativa que no depende de stat
:
$ cat /sys/class/*/random/dev
1:8
- 1. Linux de programación: el dispositivo que un archivo está en
- 2. ¿Cómo es que dos dispositivos comparten el mismo número de dispositivo mayor-menor?
- 3. especial de números aleatorios
- 4. Lucene.Net mayor que/menor que TermRangeQuery?
- 5. Double.Epsilon por la igualdad, mayor que, menor que, menor que o igual a, mayor que o igual a
- 6. Cálculo de fecha y hora Eje mínimo, máximo y mayor intervalo de marcación menor
- 7. Linux: ¿cómo sé el módulo que exporta un nodo de dispositivo?
- 8. JavaScript mayor/menor uso. ¿Qué es aceptable en estos días?
- 9. En cuanto a los números de error en Linux
- 10. Simulación de dispositivo de bloque de Linux y fusible
- 11. ¿Cómo puedo visualizar los números con mayor precisión en un cursor de datos MATLAB?
- 12. MongoDB se consultan valores de matriz con mayor y menor de
- 13. igualdad de Javascript igualdad triple pero ¿qué hay de mayor que y menor que?
- 14. Números que se repiten con mayor frecuencia en una enorme lista de números
- 15. ¿Qué tiene de especial el descriptor de archivo 3 en Linux?
- 16. ¿Cómo se generan los números de inodo en linux tmpfs?
- 17. ¿Cómo obtener DataTemplate.DataTrigger para buscar mayor o menor que?
- 18. ¿Cómo puedo ejecutar comandos de Linux en un dispositivo Android?
- 19. archivo de índice menor de lo esperado
- 20. ¿Cómo puedo saber si un archivo está abierto en otra parte de C en Linux?
- 21. mayor palíndromo con números de 3 dígitos en pitón
- 22. Eliminar todos los espacios en blanco de un archivo: Linux
- 23. PHP: ¿Cómo saber si una cadena contiene algún carácter especial?
- 24. desactivar automáticamente un modo menor global para un modo mayor específica
- 25. std :: establecer seleccionar comparador menor o mayor en tiempo de ejecución
- 26. Analizador de árbol de dispositivo Linux integrado en python?
- 27. Selector de atributos extendidos con Menor que & Mayor que en jQuery
- 28. ¿Cómo crear un nodo de dispositivo a partir del código init_module de un módulo kernel de Linux?
- 29. Sintaxis de Java con mayor/menor que: <> ¿son específicos de clase?
- 30. ¿Solicita la propiedad de ActionFilter, de menor a mayor o viceversa?
bueno, gracias! pero estaba preguntando cómo hacerlo por línea de comandos ...: D –
¿Qué pasa con la línea de comandos? Tu pregunta no dice nada sobre la línea de comando, excepto 'mknod'. –
Tienes razón. Lo siento. De todos modos, esa es la respuesta que quería. –