Grabar las sesiones de tu terminal en Linux con script.

Iniciado por morodog, Enero 03, 2016, 10:54:10 AM

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.



Script es una utilidad de Unix presente en la mayoría de distribuciones GNU/Linux, que nos permite grabar todas las operaciones ejecutadas en la terminal. Va más allá de lo que ofrece el comando history, ya que también nos proporciona todas las salidas de los diferentes comandos y operaciones que realicemos.

La forma más sencilla de iniciarlo es abrir una terminal y escribir:

Código: php
script


que automáticamente nos crea un fichero llamado typescript y empieza a grabar el contenido de la sesión, con los diversos comandos que vayamos ejecutando.

Podemos parar esa captura en cualquier momento, haciendo Crlt+D o escribiendo

Código: php
exit





Si no nos gusta ese nombre de typescript o queremos diferenciar entre sesiones le podemos dar otro cualquiera. Por ej:

Código: php
script registro.txt



Por defecto cada vez que ejecutamos el comando si tenemos un archivo de logs anterior con el mismo nombre lo sobreescribe. Pero tenemos la opción de utilizar el parámetro -a para anexar nuevo contenido a dicho archivo (en este caso, al archivo por defecto typescript) y evitar borrar el viejo.

Código: php
script -a


Como habréis deducido el archivo resultante lo podemos examinar con cualquier editor de texto (geany, gedit, nano, kate, etc.), pero vamos a ir un poco más allá y ver como examinarlo desde la terminal a la velocidad de ejecución original.

Primero lanzamos el programa, añadiéndole ahora un nuevo elemento: un archivo que nos marca los tiempos de script.

Utilizando el archivo por defecto typescript ejecutaríamos

Código: php
script -t=tiempo.txt


Si utilizamos un nombre de archivo diferente al predeterminado typescript, quedaría algo así:

Código: php
script -t=tiempo.txt registro.txt


en cualquiera de los dos caso para finalizar la grabación hacemos Ctrl + D o escribimos:

Código: php
exit


Ahora llega la parte más divertida, la de reproducir el archivo desde la shell con el comando scriptreplay:

Código: php
scriptreplay -t=tiempo.txt





De nuevo retomando el ejemplo anterior (registro.txt), si utilizáis un fichero diferente a typescript varía ligeramente la sintaxis:

Código: php
scriptreplay -t=tiempo.txt registro.txt


Otros programas interesantes a la hora de guardar y reproducir sesiones de terminal –especialmente si os apetece compartir vuestro trabajo– son asciinema o Termrecord, que crean archivos html que se pueden incrustar en páginas web.


FUENTE| No tienes permitido ver los links. Registrarse o Entrar a mi cuenta