Redirecciones (>, >>, <, |, tee)
...
Introducción
En esta unidad veremos cómo funcionan las redirecciones en consola.
En Linux, las redirecciones y tuberías permiten controlar el flujo de entrada y salida de los comandos. Gracias a ellas, podemos guardar resultados en archivos, usar archivos como entrada o encadenar varios comandos entre sí.
> — redirigir salida (sobrescribe)
Guarda la salida del comando en un archivo sobrescribiéndolo si ya existe.
Sintaxis básica
$ comando > archivo.txt
Ejemplo:
$ echo "Hola" > saludo.txt
Esto creará un archivo llamado saludo.txt con el contenido "Hola". Si el archivo ya existía, su contenido se sobrescribirá.
Ejemplo 2:
$ ls > lista.txt
Mete en el fichero la salida del comando ls con el contenido actual.
Opción frecuente
>> — redirigir salida (añade)
Añade la salida al final del archivo, sin borrar lo anterior.
Es una forma segura de borrar carpetas, ya que no permite eliminar aquellas que contienen archivos
Sintaxis básica
$ comando >> archivo.txt
Ejemplo:
$ echo "Otra línea" >> saludo.txt
Esto añadirá "Otra línea" al final del archivo saludo.txt sin borrar el contenido anterior. Si el archivo no existía, se creará.
< — redirigir entrada
Usa el contenido de un archivo como entrada del comando.
Sintaxis básica
$ comando < archivo.txt
Ejemplo
$ sort < lista.txt
Ordena el contenido de lista.txt
| — tuberías (pipes)
Envía la salida de un comando como entrada de otro.
Sintaxis básica
$ comando1 | comando2
Muestra la ruta absoluta del directorio actual.
Ejemplo:
$ cat archivo.txt | head
Muestra las primeras líneas de archivo.txt usando cat para leer el archivo y head para mostrar solo las primeras líneas.
tee — mostrar y guardar a la vez
Muestra la salida en pantalla y además la guarda en un archivo.
Sintaxis básica
$ comando | tee archivo.txt
Ejemplos
$ ls | tee lista.txt
Opción frecuente
- -a: añade en lugar de sobrescribir