El script
de Linux El comando crea un archivo mecanografiado desde su sesión de terminal. Esto significa que si invoca el script
comando, se lo lleva a una subcapa de sesión de terminal "observada y registrada" que se guarda en un archivo de texto ASCII. Cuando se crea con un archivo de tiempo, puede reproducir la sesión, incluida la salida. El propósito de script
es que puede obtener fácilmente resultados de muestra de cualquier comando a través de una sesión interactiva exactamente como se muestra en su terminal. Puede utilizar la tecla de retroceso, editar archivos, crear archivos y ejecutar comandos simples o complejos.
[ A los lectores también les gustó: Conceptos básicos de los comandos de Linux:7 comandos para la gestión de procesos]
El valor del script
El comando tiene la capacidad de capturar la salida durante su sesión de terminal para cualquier comando de terminal sin redireccionamientos, que no siempre funcionan. Me frustré muchas veces al intentar capturar la salida de un comando que de alguna manera estaba saliendo mal hasta que descubrí script
. Con los operadores de redirección estándar, algunos resultados se pueden redirigir a un archivo, mientras que otros comandos solo mostrarán el resultado en la salida estándar o en la pantalla. La mayoría de los administradores de sistemas usan el script
Comando para mostrar el resultado durante la instalación del software, al solucionar problemas o con fines de desarrollo y programación.
Sorprendentemente, el script
El comando no lo ayuda a crear scripts de shell.
Opciones de guión
Como con la mayoría de los comandos que uso, solo uso un subconjunto de opciones disponibles para ellos. El script
El comando tiene varias opciones que nunca he encontrado útiles en mi propio trabajo. Los únicos que uso son:
-a
para agregar nuevos comandos y resultados a un archivo usado anteriormente.-q
para eliminar las declaraciones iniciales y finales al usarscript
.--t
para guardar información de tiempo para la reproducción.
Cuando uso script
, siempre uso --t
para crear un archivo de tiempo y -q
para el modo silencioso. Solo uso -a
cuando necesito agregar más información en un archivo de script existente, lo cual es raro.
Uso de secuencias de comandos
Los siguientes son dos ejemplos estándar de la forma en que uso script
:
$ script --t=<logfile> -q <script file>
Y, para agregar a script file
:
$ script --t=<logfile> -q -a <script file>
Donde logfile
y script file
pueden ser nombres que tu elijas. Cuando desee finalizar y guardar el archivo, use Ctrl-D en tu teclado. Puede mirar, editar o eliminar el archivo de secuencia de comandos y el archivo de registro a voluntad. Son archivos de texto ASCII simples.
Aquí hay un ejemplo:
$ script --t=script_log -q scriptfile
Ejecuté el ls
comando, el who
y luego terminé el script con Ctrl-D .
$ ls
blah.txt test1 test2 doc.txt
$ who
root tty1 2021-01-18 09:31
khess pts/0 2021-01-20 14:42 (192.168.0.5)
khess pts/1 2021-01-20 14:47
$ exit
Cuando presionas Ctrl-D , el script sale y muestra salir .
Usa el cat
comando para mostrar el contenido de scriptfile
.
$ ls
blah.txt file_time scriptfile script.rec shell_record1 shell_record3 time_log
file_log record.scr script_log scriptrecord shell_record2 snap typescript
$ who
root tty1 2021-01-18 09:31
khess pts/0 2021-01-20 14:42 (192.168.0.5)
khess pts/1 2021-01-20 14:47
$ exit
Script done on 2021-01-20 14:47:28-06:00
Si quieres, también puedes cat
el script_log
archivo.
$ cat script_log
0.088699 31
3.393729 1
0.246070 1
0.540094 2
0.003060 196
0.000195 31
2.136900 1
0.177266 1
0.179336 1
0.540818 2
0.003883 134
0.000210 31
4.676286 6
Este es el archivo de registro de tiempo que se comporta de manera similar a un registro de transacciones para su script
comandos y respuestas. Es importante cuando reproduce el archivo, lo cual demuestro en el siguiente artículo, Cómo reproducir sesiones de terminal grabadas con el comando de secuencia de comandos de Linux.
[ Aprenda los aspectos básicos del uso de Kubernetes en esta hoja de trucos gratuita. ]
Resumir
Para mí, la mejor aplicación del script
command es para capacitar a los nuevos usuarios de Linux sobre cómo usar los comandos y mostrarles el resultado esperado en tiempo real, como si estuvieran interactuando con la sesión de la terminal ellos mismos. Para usuarios más experimentados, puede crear una sesión de capacitación que enseñe una nueva instalación o configuración de software. La capacitación es la aplicación en la que pienso debido a mi historial de capacitación de nuevos administradores de sistemas y redacción de artículos de procedimientos para varios lugares. Y dado que la salida está en archivos de texto ASCII, puede cambiar la salida para sus propias necesidades y audiencias.