¿Hay alguna forma de guardar toda la salida del terminal en un archivo con un comando?
- No estoy hablando de redireccionamiento
command > file.txt
- No es la historia
history > file.txt
, necesito el texto completo del terminal - ¡No con teclas de acceso rápido!
Algo como terminal_text > file.txt
xdotool
y este tipo de arte negro).Respuestas:
Puedes usar
script
. Básicamente guardará todo lo impreso en el terminal en esascript
sesión.De
man script
:Puede iniciar una
script
sesión simplemente escribiendoscript
en el terminal, todos los comandos posteriores y sus salidas se guardarán en un archivo con el nombretypescript
en el directorio actual. También puede guardar el resultado en un archivo diferente simplemente comenzandoscript
como:Para cerrar sesión en la
screen
sesión (deje de guardar el contenido), simplemente escribaexit
.Aquí hay un ejemplo:
Ahora si leo el archivo:
script
también tiene muchas opciones, por ejemplo, ejecutar en silencio-q
(--quiet
) sin mostrar / guardar mensajes del programa, también puede ejecutar un comando específico-c
(--command
) en lugar de una sesión, también tiene muchas otras opciones. Marqueman script
para obtener más ideas.fuente
Yo también enfrenté el mismo problema y después de algunas búsquedas surgió esta solución:
Agregue a sus .bash_aliases esto:
Y al final de su archivo .bashrc agregue esto:
Después de hacer esto, el comando "script" se ejecutará una vez en cada sesión de terminal, registrando todo en '~ / Terminal_typescripts / raw'. Si lo desea, puede guardar el registro de la sesión actual después del hecho (al final de la sesión) escribiendo 'savelog' o 'savelog logname': esto copiará el registro sin procesar actual a '~ / Terminal_typescripts / manual' y también creará una lectura .txt inicie sesión en esta carpeta. (Si olvida hacerlo, los archivos de registro sin procesar seguirán en su carpeta, solo tendrá que encontrarlos). También puede comenzar a grabar en un nuevo archivo de registro escribiendo 'startnewlog'.
Habrá muchos archivos de registro basura, pero puede limpiar los viejos de vez en cuando, por lo que no es un gran problema.
(Basado en https://answers.launchpad.net/ubuntu/+source/gnome-terminal/+question/7131 , https://askubuntu.com/a/493326/473790 )
fuente