Descarga tu guía de trucos informáticos aquí
Grabar actividad y comandos terminal Linux
Grabar actividad y comandos terminal Linux

Cómo grabar toda actividad/comando en terminal Linux

Este tutorial muestra cómo grabar todo en la terminal localmente para reproducirlo más tarde con los comandos script y ttyrec. Si bien el script está incluido en algunas distribuciones de Linux y permite administrar la velocidad de reproducción, ttyrec requiere menos parámetros para grabar y reproducir.

Pasemos a ver cómo usar los comandos SCRIPT y TTYREC en Linux que pueden ayudarte a grabar comandos y ver los resultados impresos en la terminal durante una sesión determinada.

Nota!

El comando history es una gran utilidad de línea de comandos que ayuda a los usuarios a almacenar el comando anterior utilizado, aunque no almacena la salida de un comando.

1. Comando script

La primera opción para registrar la actividad del terminal en este tutorial se centra en el comando script que ya está incluido en muchas distribuciones de Linux de forma predeterminada. La forma más fácil de usarlo sin flags permite leer el archivo de registro usando el comando cat, para ejecutarlo solo ejecuta el comando especificando el nombre del archivo de salida.

Nota!

Cuando un usuario no proporciona un nombre, se utiliza el nombre de archivo predeterminado, typecript.
script <ArchivoLog>

En mi caso lo guardé como “esgeekslog.txt” como en el siguiente ejemplo:

script esgeekslog.txt
Comando script en Linux
Comando script en Linux

Podrás ver el comando script iniciado como se muestra en la imagen de arriba, ahora puedes escribir cualquier comando, luego puedes detener la grabación escribiendo el comando exit.

Ejemplo comando script en Linux
Ejemplo comando script en Linux


En esta etapa, no puedes reproducir la sesión en tiempo real, pero puedes leerla con el comando cat:

cat esgeekslog.txt
Ver sesión de comandos grabada
Ver sesión de comandos grabada

Para reproducir la sesión en lugar de leerla, debes agregar la opción --timing que especifica el nombre del archivo de tiempo adicionalmente al nombre del archivo de salida:

script --timing=tiempo.txt script.log

En mi caso, guardé el archivo de tiempo como TIEMPO.txt y el archivo de salida como script.log como en el siguiente ejemplo:

Comando script con timing
Comando script con timing

Para reproducir la sesión grabada el comando es scriptreplay seguido por el flag --timing, nombre del archivo de tiempo, el modificador --typescript y el nombre de archivo de salida como en el ejemplo siguiente:

scriptreplay --timing <ArchivoTiempo> --typescript <ArchivoSalida>

O,

scriptreplay --timing <ArchivoTiempo> <ArchivoSalida>

Ahora puedes ver el archivo tiempo.txt.

Archivo de tiempo scriptreplay
Archivo de tiempo scriptreplay
scriptreplay para reproducir script utilizando archivo time
scriptreplay para reproducir script utilizando archivo time
  • Es posible que desees acelerar o disminuir la velocidad de reproducción, esto se puede lograr mediante el uso de los indicadores -m (--maxdelay) y -d (--divisor) . Con la opción -m puedes definir el tiempo en segundos para reproducir cada actividad, mientras que el indicador -d permite dividirlo.

El siguiente ejemplo muestra cómo reproducir permitiendo un máximo de un segundo retraso por comando:

scriptreplay -m 1 --timing <ArchivoTiempo> --typescript <ArchivoSalida>

Los siguientes ejemplos dividen el tiempo real para el factor que especifique, en este caso duplicaré la velocidad especificando el factor “2”.

scriptreplay -d 2 --timing <ArchivoTiempo> --typescript <ArchivoSalida>
  • Para registrar los resultados de un solo comando que no sea una sesión de shell interactiva, utiliza la opción -c.
script -c 'hostname' script.log
Registrar comando con script
Registrar comando con script

2. Comando TTYREC


Otro método para grabar todo en la terminal es el comando ttyrec, pero el programa ttyrec no está incluido por defecto en todas las distribuciones de Linux, al menos no en Debian. Para instalarlo simplemente ejecuta:

apt install ttyrec
Instalar ttyrec en Linux
Instalar ttyrec en Linux

Su uso es bastante fácil, incluso más que el comando Script explicado anteriormente. Para ejecutarlo, simplemente llama al programa especificando el nombre del archivo de salida:

ttyrec <ArchivoLog>

El siguiente ejemplo muestra a ttyrec grabando la sesión en un archivo llamado ttylog:

ttyrec ttylog
Comando ttyrec ttylog Linux
Comando ttyrec ttylog Linux

Como puedes ver, puedes salir de la sesión de grabación utilizando el comando “exit” como con el comando script.

Para reproducir la actividad grabada, debes llamar al comando ttyplay seguido del nombre del archivo de registro:

ttyplay <ArchivoLog>

Puedes ver como se reproduce el archivo guardado, a continuación:

3. Resumen

Las grabaciones de sesiones de terminal son una buena opción para compartir conocimientos, tutoriales o incluso realizar pruebas cuando la velocidad de respuesta o salida es importante. El comando script es la mejor opción si necesitas manipular la velocidad de reproducción, también viene por defecto en distribuciones de Linux como Debian o Ubuntu

El comando Ttyrec, a pesar de que no viene instalado de manera predeterminada, es una buena opción para los usuarios que no están acostumbrados a ejecutar comandos en el terminal debido a la falta de flags/modificadores, la grabación y la reproducción requieren menos comandos que el programa script. Al final, ambas opciones son bastante simples de usar para grabar y reproducir la actividad del terminal. Ambos comandos tienen páginas de manual fáciles y amigables para los usuarios que aplican estos comandos por primera vez.

Espero que hayas encontrado útil este breve tutorial sobre la grabación de sesiones de terminal, gracias por leerlo y sigue a EsGeeks para obtener actualizaciones adicionales y consejos sobre Informática y Tecnología.

Si te gusta el contenido y deseas apoyar a la mejora del sitio web, considera hacer una contribución ¡haciendo clic aquí por favor!. ¡NO ES OBLIGATORIO, GRACIAS! :’)

¿Te ha gustado este artículo? Sigue este blog en su fanpage de  FacebookTwitterInstagram y/o YouTube para que no te pierdas del mejor contenido informático y hacking!

Más artículos
Mejores herramientas para desafíos de Esteganografía
Las mejores +20 herramientas para desafíos de Esteganografía