¿Hay alguna forma de guardar toda la salida del terminal en un archivo con un comando?
- No estoy hablando de la redirección
command > file.txt
- No el historial
history > file.txt
, necesito el texto completo del terminal - ¡No con teclas rápidas!
Algo así como terminal_text > file.txt
Respuesta aceptada:
Puedes usar script
. Básicamente guardará todo lo impreso en la terminal en ese script
sesión.
Desde man script
:
script makes a typescript of everything printed on your terminal.
It is useful for students who need a hardcopy record of an
interactive session as proof of an assignment, as the typescript file
can be printed out later with lpr(1).
Puede iniciar un script
sesión simplemente escribiendo script
en la terminal, todos los comandos subsiguientes y sus resultados se guardarán en un archivo llamado typescript
en el directorio actual. También puede guardar el resultado en un archivo diferente simplemente iniciando script
como:
script output.txt
Para cerrar la sesión del script
sesión (deja de guardar el contenido), simplemente escribe exit
.
Aquí hay un ejemplo:
$ script output.txt
Script started, file is output.txt
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done, file is output.txt
Ahora si leo el archivo:
$ cat output.txt
Script started on Mon 20 Apr 2015 08:00:14 AM BDT
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done on Mon 20 Apr 2015 08:00:21 AM BDT
script
también tiene muchas opciones, p. corriendo silenciosamente -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. Comprobar man script
para obtener más ideas.