Con el terminal de linux puedes hacer prácticamente cualquier cosa (siempre que no quieras gui). A veces, puede que te hayas encontrado copiando el texto de la consola para guardarlo en un txt, pero algo como guardar la salida al terminal de los comandos en un archivo es realmente fácil.
En la terminal, hay una serie de carácteres que sirven para realizar ciertas acciones que que se ejecutan simplemente incluyendo estos en el comando que ejecutes. El caso es que debes saber qué hace cada uno de ellos, o igual puede que hayas intentado ejecutar algún comando con resultados extraños.
Cómo mandar la salida de un comando a un archivo
Un poco más abajo te explico qué son los símbolos de redirección por si quieres aclararte un poco el tema, aunque creo que con los ejemplos lo tendrás bastante claro pues es algo sencillo.
Para guardar lo que un comando muestra en la terminal a un archivo, bastaría por ejemplo con usar el símbolo de redirección mayor que.
Por ejemplo, vamos a volcar el contenido de un directorio completo a un archivo contenido.txt (aunque le puedes poner la extensión que quieras o incluso ninguna).
ls -l > contenido.txt
Recuerda ir primero dentro de la carpeta de la que quieras listar el contenido. Como ves, ahora tienes un archivo contenido.txt dentro de la misma carpeta, en la que sale lo que habría salido en el comando ls -l, que son los ficheros y carpetas con los detalles adicionales.
Un ejemplo más práctico. Imagina (si es que no la tienes), que tienes una librería con subcarpetas bien organizada de películas, o de música. Por lo que quiera que sea no llevas un recuento de todo lo que tienes, pero ahora te gustaría hacer una lista completa de todo, y es una locura intentar hacerla a mano.
En este supuesto podrías ejecutar este comando:
ls -Rp | grep -v / > archivos.txt
Si esto lo combinas con cómo quitar los comentarios o ciertas lineas de la salida de los comandos en linux, puedes incluso quitar las líneas en blanco que te saldrían.
Con esta lista, ya puedes copiarla en otro equipo cualquiera, o incluso importarla a una base de datos para poder utilizarla, de hecho, podrías generar incluso archivos .csv con un poco de imaginación.
Cómo usar el contenido de un archivo dentro de un comando en linux
Como comento después, los símbolos de redirección son dos, hemos visto el de exportar, pero hay otro para importar, el símbolo menor que o <.
En este caso, este símbolo sirve para meter el contenido de un stream en otro sitio, como por ejemplo un comando.
Si te estás preguntando que en qué caso práctico esto te podría servir para algo, tengo uno bastante útil. Imagina que tienes un archivo.sql, y quieres ejecutarlo en una base de datos, por ejemplo para importar contenido, o crear directamente las tablas de la base de datos.
Para esto ejecutarías un comando como este:
mysql baseDeDatos -u usuario -p < archivo.sql
Recuerda que puedes hacer copias de seguridad e importar bases de datos con los símbolos de redirección y bastante fácilmente.
Qué son los símbolos de redirección
Los símbolos u operadores de redirección, son carácteres que te permiten enviar entradas y salidas desde un punto a otro. Sí, entradas y salidas.
En el teclado español, se suelen encontrar entre la letra z y el shift, son la tecla mayor que y menor que “< >”. El primero o menor que < es el de entrada, y te permite coger un contenido, e incrustarlo por ejemplo en un comando.
En el caso del mayor que o >, lo que hace es coger la salida del comando que ejecutas, y ponerlo donde le indiques.
¿Has usado ya los operadores de redirección? ¿Para qué se pueden usar? Comenta y comparte