Cómo grabar y reproducir las sesiones de terminal de Linux utilizando los comandos 'script' y 'scripteplay'

Cómo grabar y reproducir las sesiones de terminal de Linux utilizando los comandos 'script' y 'scripteplay'

En esta guía vamos a ver cómo usar un guion y compensación Comandos en Linux que pueden ayudarlo a grabar comandos y su salida impresa en su terminal durante una sesión determinada.

Grabar y reproducir comandos de terminal de Linux

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.

No te pierdas: Showter.IO - Una herramienta de grabación de terminal de Linux

No te pierdas: 8 mejores grabadoras de pantalla de escritorio para Linux

Por lo tanto, el guion El comando es útil para brindarle una funcionalidad poderosa que le ayuda a grabar todo lo que se imprime en su terminal a un archivo de registro. Luego puede consultar este archivo más adelante en caso de que desee ver la salida de un comando en el historial desde el archivo de registro.

También puede reproducir comandos que grabó usando el compensación Comando utilizando una información de tiempo.

Cómo grabar el terminal de Linux usando el comando de script

El guion Command Stores Actividades terminales en un archivo de registro que puede ser nombrado por un usuario, cuando un usuario no proporciona un nombre, el nombre de archivo predeterminado, mecanografiado se usa.

Sintaxis básica del comando de script
# script [opciones] - -timing = timing_file log_filename 

Para comenzar a grabar el terminal de Linux, escriba guion y agregar el registro Nombre del archivo como se muestra.

[correo electrónico protegido] ~ $ Historial de script_log.TXT Script iniciado, el archivo es History_Log.TXT 

Para detener guion, tipo salida y presionar [Ingresar].

[correo electrónico protegido] ~ $ salida Script hecho, el archivo es History_Log.TXT 

Si el script no puede escribir en el archivo de registro con nombre, entonces muestra un error.

Por ejemplo, en la salida a continuación, los permisos del archivo mecanografiado No permite la lectura, la escritura y la ejecución del archivo no por ningún usuario o grupo. Cuando ejecuta el comando script sin un nombre de archivo de registro, intenta escribir en el archivo predeterminado, mecanografiado Por lo tanto, muestra un error.

[correo electrónico protegido] ~ $ LS -L TypeScript --------- 1 Ubuntu Ubuntu 144 SEP 15 00:00 TIPSECTOR [correo electrónico protegido] ~ $ guion Script: Open Falling: TypeScript: Permiso denegado Terminado 

Ejemplos de uso del comando de script

He nombrado mi archivo de registro guion.registro En el ejemplo a continuación, puede darle a su archivo un nombre diferente.

[correo electrónico protegido] ~ $ guión de guión.registro 

Ahora intente ejecutar pocos comandos para permitir que el script registre comandos ejecutados en el terminal.

[correo electrónico protegido] ~ $ California Septiembre de 2015 Su Mo Tu We th fr sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 [correo electrónico protegido] ~ $ w 14:49:40 arriba 4:06, 2 usuarios, promedio de carga: 1.37, 1.56, 1.62 Usuario TTY de [Correo electrónico protegido] PCPU JCPU inactiva What TecMint TTY8: 0 10:45 4: 06M 7:40 0.36S X-Session-Manager Tecmint PTS/5: 0 13:42 4.00s 0.07S 0.00S Script Script.registro [correo electrónico protegido] ~ $ tiempo de actividad 14:49:43 arriba 4:06, 2 usuarios, promedio de carga: 1.37, 1.56, 1.62 [correo electrónico protegido] ~ $ quién soy tecmenta [correo electrónico protegido] ~ $ hacer eco 'usando script' Uso de script [correo electrónico protegido] ~ $ salida Script de salida realizado, el archivo es script.registro 

Ahora intente ver el archivo de registro 'guion.registro'Para todos los comandos grabados, mientras ve el registro, se da cuenta de que el script también almacena alimentos y espacios de retroceso.

[correo electrónico protegido] ~ $ VI Script.registro 
Salida de muestra
^[[0M^[[255D^[[01; [Correo electrónico protegido]^[[01; 34M ~ $^[[00M Cal^m Septiembre 2015^m Su Mo Tu TU We th fr sa^m 1 2 3 4 5 ^M 6 7 8 9 10 11 12 ^M 13 14 15 ^[[7M16 ^[[27M 17 18 19 ^M 20 22 23 23 24 25 26 ^M 27 28 29 30 ^M ^M ^[[01; [ Correo electrónico protegido]^[[01; 34m ~ $^[[00m W^m 14:49:40 arriba 4:06, 2 usuarios, promedio de carga: 1.37, 1.56, 1.62^m User tty de [correo electrónico protegido] inactivo jcpu pcpu qué^m tecmint tty8: 0 10:45 4: 06m 7:40 0.36S X-Session-Manager^M Tecmint Pts/5: 0 13:42 4.00s 0.07S 0.00S Script Script.log^m^[[01; [correo electrónico protegido]^[[01; 34m ~ $^[[00m tiempo de actividad^m 14:49:43 Up 4:06, 2 usuarios, promedio de carga: 1.37, 1.56, 1.62^M^[[01; [Correo electrónico protegido]^[[01; 34m ~ $^[[00m whoami^m tecMint^m^[[01; [correo electrónico protegido]^[[01; 34m ~ $^[[ 00m echo "^hu '^hs'^hi '^hn'^hg '^h'^hs '^hc'^hr '^hi'^hp '^ht'^h^m usando script^m^[[ 01; [Correo electrónico protegido]^[[01; 34M ~ $^[[00M EXIT^M EXIT^M Script hecho el miércoles 16 de septiembre de 2015 02:49:59 pm ist ~ 

Puedes usar el -a Opción para agregar el archivo de registro o typescript, reteniendo el contenido anterior.

[correo electrónico protegido] ~ $ script -A script.registro Script iniciado, el archivo es script.registro [correo electrónico protegido] ~ $ fecha Mié 16 de septiembre 14:59:36 IST 2015 [correo electrónico protegido] ~ $ pwd /Home/Tecmint [correo electrónico protegido] ~ $ donde está el guión script:/usr/bin/script/usr/bin/x11/script/usr/share/man/man1/script.1.GZ [correo electrónico protegido] ~ $ Whatsis script Script (1) - Realice una sesión mecanografiada de la sesión terminal 

Ver el contenido del script, registre después de usar -a opción para agregarlo.

[correo electrónico protegido] ~ $ VI Script.registro 
Salida de muestra
^[[0M^[[255D^[[01; [Correo electrónico protegido]^[[01; 34M ~ $^[[00m fecha^m mié 16 de septiembre 14:59:36 IST 2015^M^[[01; [ correo electrónico protegido]^[[01; 34m ~ $^[[00m pwd^m /home /tecMint^m^[[01; [correo electrónico protegido]^[[01; 34m ~ $^[[00m whre^h^[[ [K^h^[[Kereis script^m script:/usr/bin/script/usr/bin/x11/script/usr/share/man/man1/script.1.gz^m^[[01; [correo electrónico protegido]^[[01; 34m ~ $^[[00m whatis script^m script (1) - Haga mecanografiado de la sesión terminal^M^[[01; [correo electrónico protegido]^ [[01; 34M ~ $^[[00M VI S^H^[[K^H^[[K^H^[[K^H^[[KEXIT^M EXIT^M 

Para registrar los resultados de un solo comando que no sea una sesión de shell interactiva, use el -C opción.

[correo electrónico protegido] ~ $ script -c 'hostname' script.registro Script iniciado, el archivo es script.Tecmint de registro.com script hecho, archivo es script.registro 

Si desea que el script se ejecute en un modo tranquilo, puede usar el -Q opción. No verá un mensaje que muestra el script está comenzando o saliendo.

[correo electrónico protegido] ~ $ script -c 'who' -q script.registro Tecmint TTY8 2015-09-16 10:45 (: 0) Tecmint PTS/5 2015-09-16 13:42 (: 0) 

Para establecer la información de tiempo en error estándar o un archivo, use el -momento opción. La información de sincronización es útil cuando desea volver a mostrar la salida almacenada en log_file.

Comenzemos el script y ejecute los siguientes comandos w, tiempo de actividad y California para ser grabada.

[correo electrónico protegido] ~ $ script - -timing = time.script txt.registro Script iniciado, el archivo es script.registro [correo electrónico protegido] ~ $ w 15:09:31 Up 4:26, 2 usuarios, promedio de carga: 1.38, 1.39, 1.47 Usuario TTY de [correo electrónico protegido] PCPU JCPU inactiva Lo que TecMint TTY8: 0 10:45 4: 26M 8:15 0.38S X-Session-Manager TecMint PTS/5: 0 13:42 3.00s 0.09s 0.Script 00s - -timing = time.script txt.registro [correo electrónico protegido] ~ $ tiempo de actividad 15:09:36 arriba 4:26, 2 usuarios, promedio de carga: 1.43, 1.40, 1.48 [correo electrónico protegido] ~ $ California Septiembre de 2015 Su Mo Tu We th fr sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 

Puedes ver el guion.registro y tiempo.TXT Archivo para el comando de tiempo anterior.

[correo electrónico protegido] ~ $ VI Script.registro 
Salida de muestra
^[[0M^[[255D^[[01; [Correo electrónico protegido]^[[01; 34M ~ $^[[00M W^m 15:12:05 Up 4:28, 2 usuarios, promedio de carga: 1.31, 1.37, 1.45^m User tty de [correo electrónico protegido] inactivo jcpu pcpu qué^m tecmint tty8: 0 10:45 4: 28m 8:20 0.38S X-Session-Manager^M Tecmint Pts/5: 0 13:42 5.00s 0.09s 0.Script 00s - -timing = time.script txt.log^m^[[01; [correo electrónico protegido]^[[01; 34m ~ $^[[00m tiempo de actividad^m 15:12:07 arriba 4:28, 2 usuarios, promedio de carga: 1.29, 1.36, 1.45 ^M ^[[01; [Correo electrónico protegido] ^[[01; 34m ~ $ ^[[00m Cal ^m Septiembre 2015 ^m Su Mo Tu TU We th fr sa ^m 1 2 3 4 5 ^M 6 7 8 9 10 11 12 ^M 13 14 15 ^[[7M16 ^[[27M 17 18 19 ^M 20 21 22 23 24 25 26 ^M 27 28 29 30 ^M ^M 

Ahora ver tiempo.TXT archivo.

[correo electrónico protegido] ~ $ VI TIEMPO.TXT 
Salida de muestra
0.259669 306 0.037680 829 0.000006 2 0.000002 100 0.000002 2 0.000002 102 0.000019 202 0.000004 2 0.000002 102 0.000015 100 0.000002 2 0.000003 2 0.000002 99 0.000011 2 0.000003 82 .. 

El tiempo.TXT El archivo tiene dos columnas, la primera columna muestra cuánto tiempo ha transcurrido desde la última pantalla y la segunda columna, muestra el número de caracteres que se han mostrado esta vez.

Use la página del hombre y -ayuda buscar más opciones y ayudar a usar la utilidad de la línea de comandos de script.

Uso de scripteplay para reproducir scripts utilizando información de tiempo

El compensación El comando ayuda a reproducir información en su archivo de registro grabado por el guion dominio.

La información de sincronización está definida por el -Timing = archivo Opción utilizada con el guion comando y archivo En este caso es archivo.TXT que se usó con el comando de script .

Recuerde que necesita especificar el archivo de registro Usaste con el comando script.

Vamos a reproducir ahora los últimos tres comandos w, tiempo de actividad y California que habíamos corrido de la siguiente manera.

[correo electrónico protegido] ~ $ scripteplay - -timing = time.script txt.registro 
Reproducir los últimos comandos ejecutados en Linux

Cuando el archivo de registro Replazada utilizando la información de sincronización, los comandos registrados se ejecutan y su salida se muestra al mismo tiempo que se muestra la salida original mientras se registraba.

Resumen

Estos dos comandos, guion y compensación Fácil de usar y ayudar mucho cuando necesite ejecutar el mismo lote de comandos varias veces. Ayudan mucho a administrar servidores que solo tienen interfaz de línea de comandos para la interacción con su sistema. Espero que esta guía haya sido útil y si tiene algo que agregar o enfrentar un desafío mientras los usa, no dude en publicar un comentario.