Redireccionamiento en nuestra terminal.

La consola de Linux en sí, funciona como intérprete de comandos entre el usuario y el SO. La interacción es vital entre las dos partes a través de entrada/salida de información. En Linux existen diferentes maneras de lograr ésta interacción, puede ser a través de las entradas estándar como son el teclado o la salida de mismos comandos, como la salida, puede ser en pantalla o archivos de salida.

Entrada (stdin)

Quizá la menos conocida, standar input, ya que como usuarios estamos acostumbrados a interpretar los resultados que una aplicación en consola nos arroje y no tanto a enviarle, sin embargo, existe.

En nuestra situación habremos de decir que nuestros comandos reciben parámetros que serán considerados como stdin. Nuestra consola como tal no es capaz de solicitar de manera adicional la entrada de información a través del teclado, cosa que si permite en las aplicaciones desarrolladas C, Perl o Python, siendo éstos otros ejemplos de stdin.

La standar input puede ser realizada a través de direccionamiento, permitiendo a un comando tratar la información que recibió de un archivo como entrada; convirtiéndose así en stdin. En bash la utilizaremos con el carácter “<” con la sintaxis:

$ comando < archivo_entrada

Por ejemplo, teniendo un archivo, llamado stdin.out:

pattern1
pattern2
pattern3

haciendo uso de esta forma de direccionamiento, podríamos utilizar:

$ grep "pattern2" < stdin.txt

Para realizar la búsqueda de pattern2, considerando el listado contenido en stdin.txt.

 

Salida (stdout)

La salida estándar, o stdout, corresponde a la información proporcionada por las aplicaciones o comandos a través de la consola. De manera natural se trata de la pantalla, aunque ésta igualmente puede ser direccionada hacia archivos de salida u otros comandos. Como ejemplo, cualquier información de comandos como ls, cat o wc. Pero existen comandos que no proporcionan información de salida como podría ser mv, si esto no se especifica.

La manera de direccionar dicha salida se consigue con el operador “>” siguiendo la sintaxis:

$ comando > archivo_salida

Por ejemplo:

$ ls –ltr > listado.txt

Éste comando nos generará un listado detallado del contenido del directorio ordenado cronológicamente, con la salvedad de que la salida no se muestra en pantalla sino que generará un archivo llamado listado.txt con dicha información.

Error (stderr)

Al ejecutar un comando es posible que éste genere errores ya sea de ejecución o de sintaxis. La salida de error, o standar error, se encargará de procesar dichos mensajes. De manera natural se imprimirán en pantalla pero éstos pueden ser redireccionados a través del operador “2>”.

$ comando 2> archivo_error

Por ejemplo

Si hacemos un cat al archivo cat errores.log

ls: invalid option -- 'M'
Pruebe `ls --help' para más información.
En la próxima entrega veremos como utilizar estas salidas para convertir salida de comandos en entrada de otros a través de tubierías o pipes.
Facebook Twitter Email

Entradas relacionadas

  • Sin entradas relacionadas

También te podría gustar...

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *