Cómo redirigir la salida y el error a /dev/null en Linux
Aprenda cómo redirigir la salida o el error o ambos a /dev/null en Linux para que no aparezca en la pantalla.
Imagínese este escenario. Ejecutas un comando de Linux y tiene un resultado enorme. No quieres ver su resultado.
O bien, está utilizando ciertos comandos de Linux en su secuencia de comandos y no desea que muestre ningún resultado o error en la pantalla del terminal.
Para tales casos, puede aprovechar la redirección de errores y resultados y enviarlos a /dev/null.
Envíe el resultado a /dev/null:
command 1> /dev/null
Enviar el error a /dev/null:
command 2> /dev/null
Envíe tanto el resultado como el error a /dev/null:
command 2>&1 /dev/null
El /dev/null puede considerarse un agujero negro del sistema de archivos de Linux, por lo que cualquier cosa que arrojes allí nunca podrá volver a ver la luz.
Echemos un vistazo detallado aquí.
Redirigir la salida a /dev/null en Linux
Permítanme comenzar con lo básico. Escribe un comando en la terminal como entrada (digamos que ejecuté sudo apt update
).
Entonces le di información a mi sistema y actualizará los directorios y me mostrará los procesos en curso, como los repositorios que se actualizan y los paquetes que ahora están desactualizados:
En resumen, dio un resultado que muestra lo que hizo con el comando. Ahora, aquí está la designación numérica para cada flujo de datos estándar:
La entrada estándar (stdin) se designa con 0
La salida estándar (stdout) se designa con 1
-
El error estándar (stderr) se designa con 2
Ahora, déjame mostrarte cómo puedes redirigir la salida estándar al dev/null
:
command 1> /dev/null
Por ejemplo, usaré intencionalmente el comando buscar que mostrará la salida con un error, de modo que cuando redirija la salida a /dev/null, el error debería permanecer intacto:
Como puede ver, cuando utilicé el comando buscar sin redirigir la salida, mostró una salida con un valor de 1807 líneas.
Y cuando redirigí la salida, mostró los errores solo porque pertenecen al flujo de errores estándar.
Redirigir errores a /dev/null en Linux
Como mencioné anteriormente, el flujo de error está designado con 2. Así que solo tienes que hacer algunos cambios en el comando anterior y ¡estarás listo!
Para redirigir errores, deberá usar el símbolo >
para redirigir el flujo de datos con el número 2
indicándolo para redirigir el flujo de datos en caso de error estándar.
command 2> /dev/null
Por ejemplo, usaré sudo dnf update
en Ubuntu para que el error sea obvio y en la segunda ventana demostraré cómo puedes redirigir el error:
Redirigir tanto la salida como el error a /dev/null en Linux
En esta sección, le mostraré cómo puede redirigir tanto la salida como el error a /dev/null.
La sintaxis básica para redirigir la salida y el error a /dev/null es la siguiente:
command 1> /dev/null 2> /dev/null
O también puedes usar la versión más corta:
command 2>&1 /dev/null
Para este ejemplo, usaré el comando buscar para buscar archivos en el directorio etc
en el que necesitaría privilegios sudo para acceder a algunos subdirectores y, cuando se use sin sudo, arrojará un error. :
Terminando
Esta fue mi opinión sobre cómo redirigir la salida y los errores a /dev/null.
Y si desea obtener más información sobre cómo redirigir el flujo de datos, le recomiendo encarecidamente la guía detallada sobre cómo redirigir el flujo de datos en Linux.