Tutorial

Como redireccionar y usar tuberías en linux

Hoy vamos a comentar sobre la redirección de las entradas y salidas de los comandos, algo que puede ser muy útil desde el terminal de Linux.

Comandos en Linux: Redirección de entradas

Muchos comandos como ls imprimen su salida en la pantalla, pero podemos hacer que este comando se comporte de una manera distinta, como redirigir la salida de muchos de los comandos a archivos, dispositivos e incluso la inclusión de algún otro comando.

Salida estándar

La mayoría de las aplicaciones del terminal de comandos muestran sus resultados enviándolos al centro de llamadas de salidas estándar. Habitualmente la salida estándar envía sus contenidos a la pantalla. Para hacer una redireccion de la salida estándar a un archivo, debemos usar el carácter “>”, ejemplo:

Uso del comando ls con redirección normal

[php]ls > lista.txt[/php]

Con esto hacemos que el comando ls se ejecute y los resultados se escriban en un archivo llamado lista.txt.

Cada vez que el comando se repite el archivo se sobrescribe desde el principio con la salida. En el caso de que queramos que los nuevos resultados se añadan al final pero sin que se sobrescriba todo el documento, vamos a usar los caracteres “>>”:

Te recomendamos la lectura:  Cómo instalar WordPress 5 con Gutenberg en Ubuntu 18.04

Redirección sin sobrescribir

[php]ls >> lista.txt[/php]

Entrada estándar

Existen comandos que pueden aceptar la entrada de un centro de llamadas de entradas estándar. La entrada estándar toma sus contenidos desde el teclado, pero al igual que la salida estándar, todo esto puede ser modificado y redirigido.
Para redirigir la entrada estándar desde un archivo en vez del teclado, podemos utilizar el carácter “<” de la siguiente manera:

Uso del comando sort para ordenar una lista

[php]sort < lista.txt[/php]

En el ejemplo anterior, se utiliza el comando sort para que procese el contenido de lista.txt. Los resultados se reproducen en pantalla ya que no se redirigió la salida estándar. Ahora podríamos redirigir la salida estándar a otro archivo de la siguiente manera:

Uso del comando sort y redirección a un nuevo archivo

[php]Sort < lista.txt > lista_ordenada.txt[/php]

Como se puede ver, podemos redirigir tanto las entradas como las salidas de un comando en Linux desde el terminal. Tienes que tener en cuenta que orden de la redirección no cuenta.

Tuberías

Las tuberías nos permiten conectar la ejecución de varios comandos al mismo tiempo. Con las tuberías, la salida estándar de un comando se puede introducir en la entrada estándar de otro, por ejemplo:

Uso básico de tuberías

[php]Ls –l | less[/php]
Te recomendamos la lectura:  10 razones para usar Linux

En este caso, la salida del comando ls se ve alterada por el comando less, muy útil para ir viendo los datos la salida de dicho comando detenidamente y no ver un mar de códigos de golpe.

Gustavo Gamarra

Soy operador de PC e instalador de redes informáticas , redactor y escritor en mis ratos libres. Amante de la tecnología, el cine, el fútbol y los videojuegos. Les escribo desde Buenos Aires, Argentina.

Publicaciones relacionadas

Un comentario

  1. Hola si realizo 3 comandos mediante pipes, en la implementación se utiliza uno o dos pipes.
    Por ejemplo :
    cat /etc/passwd | grep bash | wc -lines
    Esto en la implementación mediante procesos tendría que crear uno o dos pipes? Muchas gracias, muy buen artículo.

Deja una respuesta

Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected].

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

Acepto la política de privacidad *

Botón volver arriba