lunes, 7 de enero de 2019

Redireccionando salida a archivos o programas



El primero punto a considerar es conocer que en Linux existen canales de entrada y de salida. Tenemos por ejemplo entrada del teclado, salida de un comando a pantalla, a un archivo, salida de errores en pantalla o a un archivo.







Estos canales son los siguientes:

  • Canal 0: Standard input (stdin)
  • Canal 1: Standard output (stdout)
  • Canal 2: Standard Error (stderr)

Con los canales anteriores podemos generar distintos tipos de salida con distinta sintaxis. Tenemos:

  • comando > archivo : Salida a un archivo nuevo
  • comando >> archivo : Salida agregando a un archivo existente
  • comando 2> archivo : Enviar los mensajes de error a un archivo
  • comando 2> /dev/null : Descartar los mensajes de error
  • comando &> archivo : Salida & Errores a un archivo nuevo
  • comando &>> arhivo : Salida & Errores agregando a un archivo existente

Piping: O entubar, es el conectar procesos/programas entre sí. Es decir podemos enviar la salida de un comando (stdout) como entrada (stdin) de un segundo comando. Ejemplo:

ls | wc Cuenta el número de lineas, letras y caracteres del listado de archivos de una ubicación

Tee: Conocido también como tuberia T es la acción de enviar la salida de un comando (stdout) a un archivo o terminal (stdout) antes de enviarlo como entrada (stdin) a otro proceso. Ejemplo:

ls | tee /tmp/archivo.tmp | less Envia el listado de archivos de una ubicación a un archivo en tmp y después muestra este listado en pantalla

Si tee es utilizado al final de una tuberia se puede salvar el archivo y al mismo tiempo mostrarlo en pantalla. Ejemplo: ls | head -n 5 | tee /tmp/myfile.tmp

No hay comentarios:

Publicar un comentario

Servicios y Demonios

Un demonio es un procesos que corre en el background para realizar un servicios. Generalmente se lanzan desde el inicio de...