Inicio / Programacion / Trabajando con comandos en Linux: Redirección de entradas

Trabajando con comandos en Linux: Redirección de entradas

En un tutorial previo os enseñamos a cómo trabajar de forma básica con los comandos en el sentido de poder clasificarlos dependiendo de qué tipo se traten y además también os enseñamos a buscar la documentación básica para cada tipo de comando y poder ver su sintaxis, etcétera.

Hoy queremos hablar de la redirección de las entradas y salidas de los comandos, lo cual es una herramienta bastante útil así que si estás interesado en ello, te recomendamos seguir leyendo.

redireccion de salidas y entradas en linux

Trabajando con comandos en Linux: Redirección de entradas y salidas

Muchos comandos como ls imprimen su salida en la pantalla, pero esto no tiene por qué ser el caso ya que mediante el uso de algunas anotaciones especiales podemos redirigir la salida de muchos de los comandos a archivos, dispositivos e incluso a la entrada de otros comandos.

Salida estándar

La mayoría de los programas de la terminal de comandos muestran sus resultados enviándolos al centro de llamadas de salidas estándar. Por defecto, la salida estándar dirige sus contenidos a la pantalla. Para redirigir la salida estándar a un archivo, debemos usar el carácter “>” de esta manera:

Uso del comando ls con redirección normal

Uso del comando ls con redirección normal

ls > lista.txt

En este ejemplo, el comando ls se ejecuta y los resultados se escriben en un archivo llamado lista.txt.

Cada vez que el comando anterior se repita el archivo se sobrescribe desde el principio con la salida del comando ls. En el caso de que queramos que los nuevos resultados se añadan al final sin sobrescribir lo que ya estuviera escrito, simplemente tendremos que utilizar los caracteres “>>”:

Redirección sin sobreescritura

Redirección sin sobreescritura

ls >> lista.txt

Entrada estándar

Muchos comandos pueden aceptar la entrada de un centro de llamadas de entradas estándar. Por defecto, la entrada estándar toma sus contenidos desde el teclado, pero al igual que la salida estándar, todo esto puede ser redirigido.

comando-ls

Para redirigir la entrada estándar desde un archivo en vez del teclado, debemos utilizar “<” de esta manera:

Uso del comando sort para ordenar una lista

Uso del comando sort para ordenar una lista

sort < lista.txt

En el ejemplo anterior, se utiliza el comando sort para procesar el contenido de lista.txt. Los resultados se reproducen en la pantalla ya que no se redirigió la salida estándar, aunque si quisiéramos, 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

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

Sort < lista.txt > lista_ordenada.txt

Como puedes ver, podemos redirigir tanto las entradas como las salidas de un comando. También has de tener en cuenta que el orden de la redirección no cuenta.

Tuberías

Las tuberías nos permiten interconectar la ejecución de varios comandos al mismo tiempo y es algo extremadamente útil, con las tuberías, la salida estándar de un comando se introduce en la entrada estándar de otro, por ejemplo:

Uso básico de tuberías

Uso básico de tuberías

Ls –l | less

Con este ejemplo, la salida del comando ls se ve afectada por el comando less, por lo que tendremos que ir haciendo scrolling para ir viendo más datos de la salida de dicho comando, algo bastante cómodo para que no nos pegue un pantallazo lleno de caracteres.

Vea Tambien

uso de alias en linux

Uso de alias en los scripts de Shell

Continuamos con nuestra serie de artículos de programación en Linux y hoy queremos enseñaros a ...

Deja un comentario

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