GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué son los archivos /dev/zero y /dev/null en Linux?

“/dev/zero” y “/dev/null” son dos archivos de dispositivo ficticios que son útiles para crear archivos vacíos. Pero hay una clara diferencia en lo que realmente hacen. En esta publicación, veremos la diferencia entre los dos y dónde se pueden usar.

/dev/archivo cero

Se utiliza para crear un archivo sin datos pero con el tamaño requerido (un archivo con ceros escritos en él).

Vamos a crear un archivo con /dev/zero:

# dd if=/dev/zero of=/opt/zero.txt bs=2048 count=2048
2048+0 records in
2048+0 records out
4194304 bytes (4.2 MB) copied, 0.150465 s, 27.9 MB/s

Crea un archivo que tiene ceros continuos. Entonces podemos decir que /dev/zero es un archivo que se usa para crear un nuevo archivo con cierto tamaño requerido sin ningún significado para los datos.

También puede usar el archivo /dev/zero junto con el comando dd para borrar un disco. Por ejemplo:

# dd if=/dev/zero of=/dev/sda bs=2K conv=noerror,sync

Otro archivo que también se puede usar en este proceso es/dev/null:

/dev/null

Si bien enviar todos los resultados suele ser algo bueno, otra cosa que se encontrará haciendo de manera regular es redirigir los errores (lo que espera en algunos comandos) a un dispositivo especial:/dev/null.

El tipo nulo revela la funcionalidad:está en algún lugar entre un bote de basura y un agujero negro. Este archivo es incluso útil para crear archivos con tamaño cero.

Por ejemplo, si ve que tengo pocos archivos y carpetas en el directorio actual:

# ls
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop          Downloads  Music                 Public    Videos

Si redirijo la salida del comando "ls" al archivo "/dev/null", los datos de salida no se pueden recuperar incluso después de leer el archivo nulo:

# ls > /dev/null
# cat /dev/null
#

Cómo recrear /dev/null

Los siguientes comandos se colocaron en una línea y separados por un punto y coma ';' para ejecutarse lo más rápido y tener el menor efecto posible en el sistema en ejecución.

# rm /dev/null ; mknod -m 0666 /dev/null c 1 3 ;

Execute: yes

Verifica que todo esté bien y en su lugar:

# ls -al /dev/null

Resumen

Cuando redirigimos la salida a /dev/zero, hace exactamente lo mismo que /dev/null:los datos desaparecen. Sin embargo, en la práctica, /dev/null se usa con mayor frecuencia para este propósito.

Entonces, ¿por qué tener este dispositivo especial entonces? Porque /dev/zero también se puede usar para leer bytes nulos. De todos los 256 bytes posibles, el byte nulo es el primero:el 00 hexadecimal. Un byte nulo se usa a menudo para indicar la finalización del comando.


Linux
  1. ¿Cómo maneja Linux múltiples separadores de rutas consecutivas (/home////username///file)?

  2. ¿Qué tan portátiles son /dev/stdin, /dev/stdout y /dev/stderr?

  3. ¿Cuándo usar /dev/random Vs /dev/urandom?

  4. Linux:¿Qué significa la letra 'u' en /dev/urandom?

  5. Cómo mapear dispositivos /dev/sdX y /dev/mapper/mpathY desde el dispositivo /dev/dm-Z

tty (/dev/tty) vs pts (/dev/pts) en Linux

¿Qué es /dev/null en Linux?

Linux:¿Diferencia entre /dev/console, /dev/tty y /dev/tty0?

/dev/null en Linux

¿Por qué se requieren < o > para usar /dev/tcp?

Diferencias entre /dev/sda y /dev/sda1