Redireccionamiento de Salida Estándar



Para los usuarios de Linux que utilizan constatemente la terminal, les puede resultar de mucha utilidad saber redirigir lo que se muestra en pantalla de la terminal a un archivo de texto.

Las mayoría de las terminales poseen un scroll up y scroll down limitado y algunas ni si quiera traen el scroll, entonces si queremos ver los resultados completos de una determinada operación o proceso que estemos corriendo en Linux, podemos enviar dichos resultados a un fichero de texto que podamos abrir con un editor texto como Atom, Vim, Emacs, SublimeText, entre otros.

En lo personal, utilizo este reireccionamiento para compartir los errores del sistema o resultados de determinados procesos con la comunidad. También lo utilizo cuando tengo la necesidad de instalar un paquete por compilación desde el código fuente.

Cuando instalamos un paquete por compilación puede darse el caso de que existan dependencias o librerias que no estén disponibles en nuestro sistema operativo y por consecuencia la terminal muestra mensajes de errores que son de mucha utilidad para corregirlos y así lograr una instalación exitosa. Muchos de estos errores pueden perderse de la vista del usuario debido al limitado scroll de la terminal, por eso en estos casos podemos enviar estos errores a un fichero texto para tener bien ubicados los detalles de los errores.

Existen dos tipos de redireccionamiento que podemos utilizar, una de ellas es dedicada unicamente para los errores y normamente se le suele llamar error estándar, la otra es la que no incluye los errores y se le suele llamar salida estándar. Los comandos que se presentan a continuación muestran como redirigir estas dos salidas al directorio actual en que se está trabajando:

$ ls -lha > lista.txt
$ car 2> error.txt

El símbolo > redirige la salida estándar, mientras que la expresión 2> es solo para redirigir los errores. Si se ejecuta otros comandos y redirigimos la salidas a los ficheros que acabamos de crear de la misma manera como se muestra en el ejemplo anterior, entonces el contenido de los ficheros se sobreescribirán. En caso de no querer sobreescribir en los ficheros ya existentes, podemos ejecutar los siguientes comandos para añadir contenido a los ficheros:

$ ls Documentos/ >> lista.txt
$ ask 2>> error.txt

Al duplicar el símbolo >> el sistema añade los resultados a los ficheros que creamos en el primer ejemplo. Ahora para consultar el contenido de estos ficheros puedes usar el comando cat si el contenido es corto, de lo contrario puede abrir el fichero con un editor de texto como gedit o nano.

En caso de querer redirigir cualquiera de estas salidas a un directorio en específico solo tendrías que colocar la ruta absoluta o relativa con el nombre del fichero hacia el directorio en donde lo desee guardar:

$ ls -lha > Documentos/lista.txt
$car 2> Documentos/error.txt

El redireccionamiento utilizado en este post funciona para la mayoría de los comandos que ejecutes en la terminal incluyendo comandos de instalación de paquetes como apt. Si este post te ha parecido de utilidad

te invito a que lo compartas con la gente que se inicia en Linux. ¡Exitos!

Comentarios