Búsqueda de sitios web

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.

Artículos relacionados: