2009-12-01 13 views

Respuesta

26

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 
+0

bueno, gracias! pero estaba preguntando cómo hacerlo por línea de comandos ...: D –

+0

¿Qué pasa con la línea de comandos? Tu pregunta no dice nada sobre la línea de comando, excepto 'mknod'. –

+0

Tienes razón. Lo siento. De todos modos, esa es la respuesta que quería. –

7
 
$ 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 
3

También puede usar stat.

$ stat -c 'major: %t minor: %T' <file> 
1

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/
0

alternativa que no depende de stat:

$ cat /sys/class/*/random/dev 
1:8 
Cuestiones relacionadas