Directorio /dev
100%

Dispositivos · Lección 1

Directorio /dev

Aprende cómo Linux expone interfaces de dispositivos y seudodispositivos mediante nodos bajo `/dev`.

Linux expone muchas interfaces de dispositivos del kernel mediante objetos especiales del sistema de archivos llamados nodos de dispositivo. Normalmente aparecen bajo /dev, junto con enlaces simbólicos útiles y puntos de comunicación. Abrir un nodo de dispositivo conecta una aplicación con un controlador del kernel, no con bytes almacenados en un archivo ordinario.

Explorar `/dev`

Muestra el directorio sin seguir los enlaces ni leer los dispositivos:

$ ls -l /dev

Las entradas pueden representar almacenamiento físico, terminales, interfaces de entrada, dispositivos lógicos o seudodispositivos proporcionados por el kernel. No todos los componentes de hardware necesitan un nodo visible para el usuario y un dispositivo puede estar representado mediante varios enlaces o interfaces.

El primer carácter de un listado largo identifica el tipo de objeto del sistema de archivos. Los nodos de dispositivos de caracteres y de bloques aparecen como c y b; lecciones posteriores examinan estos tipos y sus números mayor y menor.

¿Qué ocurre cuando un programa abre un nodo de dispositivo bajo /dev?

Seudodispositivos

Algunos nodos proporcionan servicios del kernel sin corresponder a hardware físico. /dev/null acepta y descarta los datos escritos:

$ command > /dev/null

Otros ejemplos conocidos son /dev/zero, que produce bytes con valor cero, y /dev/urandom, que proporciona bytes aleatorios mediante el subsistema de aleatoriedad del kernel. Cada uno tiene una semántica específica; no deduzcas su comportamiento únicamente del nombre.

¿Qué hace /dev/null con los datos que se escriben en él?

Gestión dinámica de dispositivos

En los sistemas Linux modernos, devtmpfs, respaldado por el kernel, puede crear los nodos de dispositivo básicos a medida que aparecen los dispositivos. Un gestor de dispositivos en el espacio de usuario, como udev, procesa sucesos, aplica permisos y propiedad, y crea enlaces simbólicos útiles o nombres basados en políticas. Las responsabilidades exactas varían según el sistema.

Los enlaces estables, como las entradas bajo /dev/disk/by-id/ o /dev/disk/by-uuid/, pueden ser más seguros en la configuración que los nombres basados en el orden de detección, como /dev/sda, que pueden cambiar al modificarse la topología del hardware o el orden de descubrimiento.

¿Por qué puede preferir un administrador /dev/disk/by-id/... a /dev/sda en una configuración?

Interactuar de forma segura

Las herramientas estándar pueden abrir nodos de dispositivo, pero eso no convierte las lecturas y escrituras arbitrarias en operaciones seguras. Leer puede exponer entradas o almacenamiento confidenciales; escribir en un disco, una terminal o una interfaz de firmware puede corromper datos o molestar a los usuarios. Por esa razón, los permisos, grupos, ACL, capacidades y servicios intermediarios restringen el acceso a los nodos.

Utiliza primero herramientas de descubrimiento de solo lectura, confirma el nodo exacto y la identidad del dispositivo, y sigue la documentación específica del dispositivo. Nunca experimentes redirigiendo datos a una entrada desconocida de /dev en un sistema que te importe.

¿Por qué debes evitar escribir datos arbitrarios en un nodo de dispositivo desconocido?

Lección completada

Has completado Directorio /dev

Ahora puedes describir /dev como un conjunto de interfaces activas orientadas al kernel.

  • Distingue los nodos de dispositivo de los archivos ordinarios.

  • Reconoce seudodispositivos como /dev/null.

  • Relaciona los nodos dinámicos y los enlaces persistentes con la gestión de dispositivos.

  • Trata el acceso directo a dispositivos como algo específico de cada interfaz y potencialmente destructivo.

Guarda tu progreso

Crea una cuenta gratuita para guardar esta lección y continuar en cualquier dispositivo.

Crear una cuenta gratuita
Siguiente Lección
Volver a Dispositivos