Estamos en 2019 y aún hay muchos que no usan Linux porque creen que todo se hace por medio de una línea de comandos. Esto no es verdad, y los lectores de Ubunlog lo sabéis bien. Lo que sí es cierto es que el terminal (o el Bash) de Ubuntu es una herramienta muy potente, tanto que Microsoft la ha incluido en Windows 10. En ocasiones, queremos compartir la salida de un comando para, por ejemplo, que otros usuarios nos ayuden con un problema y en este artículo os enseñaremos cómo guardar dicha salida.
Hay muchas maneras de guardar la salida de un comando del terminal. En este artículo os enseñaremos dos muy sencillas y otra un poco más «linuxera». La más sencilla y precisa de todas es la que he usado para guardar la información que muestra Neofetch tal y como veis en la imagen que encabeza este artículo. El problema es o puede ser que no todas las aplicaciones de consola/terminal tienen dicha opción. Os lo contamos todo tras el corte.
Guardar la salida de un comando desde el menú Archivo
La opción más sencilla de la que os hablo es igual que la que usamos para guardar un archivo de texto desde cualquier aplicación de este tipo. Se trata de ir al menú Archivo y buscar algo como «Guardar». En Konsole, la app de terminal de Kubuntu, pone «Guardar salida como…». Cosas a saber:
- La salida es perfecta. Esto significa que copiará exactamente lo que hay en el terminal. En el caso de Neofetch y como veis en la captura, lo saca todo igual, pero en texto plano. No respeta los colores, lo que puede venirnos bien como explicaremos más adelante.
- Copia TODO lo que hay en el terminal. Esto puede ser un problema si solo queremos compartir una parte de lo que tenemos. Para evitar copiar mucho si hemos estado usando el terminal antes de guardar lo que queremos, podemos usar el comando «clear» para limpiar la pantalla.
- El archivo se guarda con extensión TXT, aunque algunas apps pueden ofrecer también la posibilidad de guardarlo como HTML.
Copiando y pegando
Esta es más sencilla que la anterior, ¿no? El terminal permite que copiemos y peguemos texto, pero hay que tener en cuenta algunas cosas:
- Si la salida es muy larga, seleccionar todo el texto puede ser tedioso. Yo lo recomendaría solo en salidas cortas.
- Lógicamente, lo copiado se tiene que pegar en alguna parte, bien sea un documento de texto creado a mano, un Tweet, un e-mail, etc.
- No se pueden usar atajos del teclado. Si presionamos Ctrl+C, que es el teclado para copiar, introduciremos en el terminal ^C. No está de más decir que pegar tampoco funciona y lo que introduciríamos en el terminal sería ^V.
Guardando la salida de un comando, versión «linuxera»
En la versión «linuxera» lo haremos todo desde el terminal. Pero antes de explicar cómo se hace, también tenemos que explicar que:
- No funciona con todos los comandos. Al tener que añadirle una opción extra (-h), algunos comandos nos darán error.
- Lo bueno: solo guarda lo que le pidamos.
- No todos los que funcionan salen perfectos. Para una de mis pruebas yo he guardado la información de Neofetch y, como os he explicado antes, el que se guarde en texto plano sin colores era una buena opción porque usando el terminal añadirá caracteres que tratan de definir el color a los caracteres existentes, quedando así:
Entre los comandos que sí funcionan tenemos «df», por lo que usaremos dicho comando para la prueba. La línea sería así:
df -h | tee prueba.txt
Del comando anterior:
- df es el comando que nos mostrará el espacio usado de nuestros discos.
- La opción -h nos asegurará que la salida será fácil de leer para un ser humano.
- tee será el comando que lo guardará.
- prueba.txt es el archivo de salida. Si no le indicamos ruta, lo guardará en nuestra carpeta personal. También funciona en extensión .log, por ejemplo.
Si queremos abrir el archivo recién creado desde el terminal podemos hacerlo con el comando «cat prueba.txt», siempre y cuando hayamos guardado el archivo con ese nombre y lo tengamos en la carpeta personal.
Como hemos mencionado, el terminal es más potente que las herramientas sencillas y desde él podemos añadir más información al archivo de salida. Para ello usaremos la opción -a (add o añadir) delante del archivo, como por ejemplo
df -h | tee -a prueba.txt
Con el comando anterior le añadiríamos al archivo prueba.txt la nueva información de almacenamiento de nuestros discos.
¿Ya sabes cómo guardar la salida de un comando en Linux?
¿En Linux no sirve usar «>» o «>>» como en Windows?
Tengo la misma duda ¿Qué diferencia hay entre volcar los datos con > o usar el comando tee?
Por lo que he podido leer la diferencia radica en que tee también te lo muestra por pantalla. Es decir > te lo vuelca al fichero de texto sin mostrar la salida y tee te lo vuelva a un fichero y adicionalmente te lo muestra por pantalla. ¿Alguien me confirma?
Lo que podrían explicar es como se guarda un cambio de un fichero que editamos, en la parte de abajo de la consola aparece una barra de tareas en dos filas con cosas como Ver, Salir, buscar, Reemplazar, Ortografía,Pegar y otras
Pero como haces para Guardar, por ejemplo? Al costado izquierdo de la palabra Guardar, hay dos símbolos «^Ô» pero si los tipeas se escriben en la consola y no se guarda…
Tan difícil era para los que hacen esto poner un boton de guardar??
En Linux , los que lo hacen, deben pensar: Para que hacerlo fácil si lo podemos hacer complicado
entre para ver si me enteraba de como guardar los cambios cuando edito un archivo con nano,
por ejemplo: sudo nano edit cd xxx,
se abre el archivo, no todas las veces, (que esto es linux) y después que lo modificas, la consola , para no perder ese aire de misterio que le caracteriza, y para ponerte las cosas difíciles, (que en linux fácil no hay nada, digan lo que digan los fanáticos del masoquismo,) en la parte de abajo, ves dos lineas con distintas opciones que explican lo que pasará si ejecutas el comando que le precede, estros comandos son algo como esto: ^X, Tu piensas, si le doy a la palomita «^» y a la letra X mayúscula, el comando funcionará y los cambios se guardarán…… Pues no, entonces tu te kgas en todos los muertos de los que hacen linux, y te preguntas porque les crees cuando te dicen todas las mentiras que sobre linux dicen, pero finalmente te convencen, (ellos) de que el burro eres tu, que tu lógica es anormal y entonces caes aqui, pensando que este te lo explicará, pero no, te explica otra cosa diferente, que tampoco te sirve….
Linux es asi