Cómo guardar la salida de un comando del terminal

Salida de un comando guardada

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.
Artículo relacionado:
upower, un comando simple para comprobar el estado de la batería de nuestro portátil

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í:

Salida de un comando: Neofetch

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?

Artículo relacionado:
Alternativas al comando ‘ls’ para listar el contenido de un directorio

3 comentarios, deja el tuyo

  1.   newbie dijo

    ¿En Linux no sirve usar “>” o “>>” como en Windows?

    1.    Diego dijo

      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?

      1.    Pablinux dijo

        Hola: sí, cuando se usa el > no vemos nada, por lo que en realidad es una salida “a medias”. tee lo muestra y lo guarda, lo que nos sirve también para asegurarnos de que lo hemos escrito correctamente.

        Un saludo.

Deja tu comentario

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

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.