Ya publicamos una guía que explicaba cómo guardar comandos en la propia terminal y usarlos bajo demanda . Es muy útil para aquellos que no quieren memorizar comandos de Linux largos y complejos. Hoy, en esta guía, vamos a ver cómo grabar todo lo que haces en Terminal usando script comando.
Es posible que haya ejecutado un comando, creado un directorio o instalado una aplicación en Terminal. El comando Script simplemente guarda lo que hayas hecho en la Terminal. Luego puede verlos si desea saber qué ha hecho hace unas horas o días.
Lo sé, lo sé, podemos usar las teclas de flecha ARRIBA/ABAJO o historial comando para ver los comandos que se estaban ejecutando anteriormente. Sin embargo, no puede ver el resultado de esos comandos. Pero, el comando Script registra y muestra las actividades completas de la sesión de terminal.
El comando script crea un texto mecanografiado de todo lo que haces en la Terminal. No importa si instala una aplicación, crea un directorio/archivo, elimina una carpeta. Todo quedará registrado, incluidos los comandos y las respectivas salidas.
El comando de secuencia de comandos será útil para quienes deseen un registro impreso de una sesión interactiva como prueba de una tarea. Ya sea estudiante o tutor, puede hacer una copia de todo lo que hace en la Terminal junto con todos los resultados.
Registra todo lo que haces en la terminal usando el comando de secuencia de comandos en Linux
El comando de script es parte de util-linux paquete en sistemas basados en RPM y bsdutils paquete en sistemas basados en DEB y viene preinstalado en la mayoría de los sistemas operativos Linux modernos. Entonces, no nos preocupemos por la instalación.
Avancemos y veamos cómo usarlo en tiempo real.
Ejecute el siguiente comando para iniciar la grabación de la sesión de Terminal.
$ script -a my_terminal_activities
Donde, -a flag se usa para agregar la salida a un archivo o mecanografiado, conservando el contenido anterior. El comando anterior registra todo lo que haces en la Terminal y agrega el resultado a un archivo llamado 'my_terminal_activities' y guárdelo en su directorio de trabajo actual.
La salida de muestra sería:
Script started, file is my_terminal_activities
Ahora, ejecute algunos comandos aleatorios de Linux en su Terminal.
$ mkdir ostechnix
$ cd ostechnix/
$ touch hello_world.txt
$ cd ..
$ uname -r
Después de ejecutar todos los comandos, finalice la sesión del comando 'script' usando el comando:
$ exit
Después de escribir exit, obtendrá el siguiente resultado.
exit Script done, file is my_terminal_activities
Grabe todo lo que haga en la terminal usando el comando de secuencia de comandos en Linux
Como ves, las actividades de la Terminal se han almacenado en un archivo llamado 'my_terminal_activities' y lo guarda en el directorio de trabajo actual.
También puede guardar las actividades de la Terminal en un archivo en una ubicación diferente, como se muestra a continuación.
$ script -a /home/ostechnix/documents/myscripts.txt
Todos los comandos se almacenarán en /home/ostechnix/documents/myscripts.txt archivo.
Ver actividades de terminal registradas
Para ver las actividades de su Terminal, simplemente abra este archivo en cualquier editor de texto o simplemente muéstrelo usando el 'gato' comando.
$ cat my_terminal_activities
Salida de muestra:
Script started on 2019-10-22 12:07:37+0530 [email protected]:~$ mkdir ostechnix [email protected]:~$ cd ostechnix/ [email protected]:~/ostechnix$ touch hello_world.txt [email protected]:~/ostechnix$ cd .. [email protected]:~$ uname -r 5.0.0-31-generic [email protected]:~$ exit exit Script done on 2019-10-22 12:08:10+0530
Ver actividades de la terminal
Como puede ver en el resultado anterior, el comando de secuencia de comandos ha registrado todas mis actividades de Terminal, incluida la hora de inicio y finalización del comando de secuencia de comandos. Impresionante, ¿no? La razón para usar el comando de secuencia de comandos es que no solo registra los comandos, sino también la salida de los comandos. En pocas palabras, el comando Script registrará todo lo que haga en la Terminal.
Reproducir las sesiones de terminal grabadas
A veces, es posible que desee reproducir las sesiones de Terminal, como un GIF animado, en lugar de solo verlo. Si es así, puede hacerlo fácilmente con el comando Scriptreplay. Consulte la siguiente guía para saber cómo reproducir las sesiones de Terminal grabadas.
- Cómo reproducir las sesiones de terminal grabadas mediante el comando Scriptreplay
Grabar un solo comando
También es posible grabar la salida de un solo comando usando -c marca como a continuación.
$ script -c "lsb_release -a" -a my_terminal_activities
Salida de muestra:
Script started, file is my_terminal_activities No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 18.04.3 LTS Release: 18.04 Codename: bionic Script done, file is my_terminal_activities
Para ver la salida del comando grabado, simplemente ejecute:
$ cat my_terminal_activities
Es bastante útil para mostrar la demostración del uso de un comando específico a los estudiantes o compartir el resultado de un comando con sus colegas o equipo de soporte.
Grabar sesiones de terminal con marcas de tiempo
Como uno de nuestros lectores Sr. Alastair Montgomery mencionado en la sección de comentarios a continuación, podríamos configurar un alias que marcaría la hora de las sesiones grabadas.
Cree un alias para el comando de script como se muestra a continuación.
$ alias rec=’script -aq ~/term.log-$(date “+%Y%m%d-%H-%M”)’
Ahora simplemente ingrese el siguiente comando para comenzar a grabar la Terminal.
$ rec
Ahora, todas sus actividades de Terminal se registrarán en un archivo de texto con marca de tiempo, por ejemplo, term.log-20191022-12-16 .
Registre las actividades de la Terminal con marcas de tiempo
Lectura sugerida:
- Asciinema:grabe sesiones de terminal y compártalas en la web
- Marque los comandos de Linux para una invocación repetida más fácil
- Aplique etiquetas a los comandos de Linux para recuperarlos fácilmente del historial
- Recuperar fácilmente comandos de Linux olvidados usando Apropos
- Pet:un sencillo administrador de fragmentos de línea de comandos
Grabar sesiones de Terminal en modo silencioso
Como notó, cuando iniciamos el comando de script para grabar la sesión de terminal, muestra un mensaje de bienvenida:"Script iniciado, el archivo es my_terminal_activities" y muestra "Script terminado, el archivo es my_terminal_activities" después de finalizar la grabación. Si no desea ver esos mensajes, puede ejecutar el comando de secuencia de comandos en modo silencioso usando -q marca como a continuación.
$ script -a -q my_terminal_activities
Para obtener más detalles, consulte la página del manual.
$ man script
Conclusión
Como dije, el comando de secuencia de comandos sería útil para estudiantes, profesores y cualquier usuario de Linux que desee mantener un registro de sus actividades en la Terminal. Aunque hay muchas herramientas CLI y GUI disponibles para hacer esto, el comando de secuencia de comandos es la forma más fácil y rápida de registrar las actividades de la sesión de Terminal.