GNU/Linux >> Tutoriales Linux >  >> Linux

Grabe su terminal con script y scriptreplay

Una cosa fascinante de los humanos es que cada uno de nosotros tiene un estilo de aprendizaje particular. Algunas personas prefieren leer acerca de cómo se hace algo. Algunas personas prefieren seguir las instrucciones desde el principio, mientras que otras prefieren obtener una descripción general antes de participar. A otras personas les gusta escuchar las instrucciones de un instructor o un podcast. Y otro grupo quiere instrucciones en forma de video.

El problema con el video es que puede ser difícil de producir y comprimir, y es mucho trabajo cambiarlo una vez que está hecho. Y además de eso, los espectadores no pueden copiar y pegar comandos de Linux de un video en su terminal.

¿O pueden?

El script y scriptreplay Los comandos le permiten grabar una sesión de terminal y luego reproducirla más tarde. No hay video involucrado. En su lugar, los archivos de texto sin formato llamados mecanografiados se utilizan, por lo que los archivos son pequeños y los usuarios pueden copiar comandos durante la reproducción.

Ambos script y scriptreplay los comandos son valiosas herramientas de documentación y los encuentro útiles en dos escenarios:

  1. No importa cuán sinceramente me prometo a mí mismo que revisaré mi historial de shell y recopilaré los comandos adecuados una vez que descubra la forma correcta de realizar una tarea, rara vez lo hago.
  2. A veces, mis usuarios no quieren ver la entrada que se les pide; quieren ver la interacción entre ellos y la computadora. Puede decirle a un usuario que escriba ls y describir lo que pueden esperar ver en respuesta, pero tiene un mayor impacto cuando ven que sucede por sí mismos. Encuentro a los usuarios mucho más valientes en la terminal después de reproducir un archivo de script para ver cómo es primero.

[ Regístrese en Aspectos básicos de Ansible:Resumen técnico de automatización y aprenda la gestión de la configuración, el aprovisionamiento, la implementación y la gestión de la infraestructura informática en todos los entornos con Ansible. ]

Registra tu terminal

Para comenzar a grabar con script , proporcione dos archivos de destino:un archivo de tiempo y un mecanografiado archivo:

$ script --timing=time.tm myscript

La salida le avisa que script ha comenzado a grabar. Todo lo que haces en tu terminal mientras script está activo se registra. Esto incluye todo lo que va a stdin, stdout y stderr, incluidas sus pausas, retrocesos, autocompletados e incluso sus errores.

Presiona Ctrl+D o escribe exit para detener la grabación cuando haya terminado su demostración.

El archivo mecanografiado resultante, myscript en este ejemplo, es sencillo y relativamente autodocumentado:

Script started on 2022-01-06 22:27:01+13:00
0;seth:~/script^G$ echo "hello world"
hello world
0;seth:~/script^G$ exit
exit

Script done on 2022-01-06 22:27:10+13:00

Puede editar este archivo. pero tenga cuidado de no hacer demasiados cambios porque la sincronización de la salida también se ha registrado.

Aún así, para corregir errores menores, una edición rápida con un editor de texto es una solución fácil.

Reproducir un guión

Puede reproducir un guión grabado usando scriptreplay comando:

$ scriptreplay --timing=time.tm myscript

Esto se hace cargo de su sesión de terminal y la usa como un lienzo para reproducir la entrada y salida de lo que grabó. El tiempo también se replica, por lo que se conservan pausas significativas para mayor claridad, lo que puede ser útil para un usuario que sigue la reproducción del guión.

Por supuesto, los comandos que se reproducen en la terminal no se ejecutan. Es solo una repetición instantánea, por lo que es seguro reproducir scripts que eliminan archivos, realizan confirmaciones de Git o inician reproducciones de Ansible. En realidad, no sucede nada en la reproducción de un script. Es solo una película.

Documentación en acción

El script y scriptreplay Los comandos son herramientas valiosas para la filosofía de "mostrar, no decir". Ya sea que su público objetivo sea usted en algún momento en el futuro, mucho después de haber olvidado lo que estaba seguro de que nunca olvidaría, o un tímido nuevo usuario de terminal, ver la interacción humano-computadora puede ser esclarecedor y fortalecedor.

A diferencia de las capturas de pantalla, los textos mecanografiados tienen un tamaño de archivo pequeño y son fáciles de actualizar y editar. A diferencia de su historial de shell, los textos mecanografiados no rotan. No desaparecen a menos que los elimine usted mismo. Y a diferencia de los scripts de shell, un script mecanografiado demuestra los pasos sin realizar el proceso, alentando al espectador a probar cada paso, internalizarlo y guardarlo en la memoria, y obtener una mejor comprensión de lo que la terminal es realmente capaz de hacer.


Linux
  1. Graba tu sesión de terminal con Asciinema

  2. Supervise su sistema Linux en su terminal con procps-ng

  3. Encienda su editor de texto de terminal Linux con ed

  4. ¿Colorear su entorno de terminal y shell?

  5. Diferencia entre comandos en bash script y comandos en terminal

Revive tu fuente RSS con Newsboat en la terminal de Linux

Date un baño en tu terminal Linux con asciiquarium

Dale un poco de color a tu terminal Linux con lolcat

Cómo grabar y reproducir sesiones de terminal de Linux usando los comandos 'script' y 'scriptreplay'

Cómo grabar su sesión de terminal en Linux

Cómo grabar sesiones de terminal en ubuntu