C'è un modo per salvare tutto l'output del terminale in un file con un comando?
- Non sto parlando di reindirizzamento
command > file.txt
- Non la cronologia
history > file.txt
, ho bisogno del testo completo del terminale - Non con i tasti di scelta rapida!
Qualcosa come terminal_text > file.txt
Risposta accettata:
Puoi usare script
. Fondamentalmente salverà tutto ciò che è stampato sul terminale in quello script
sessione.
Da 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).
Puoi avviare uno script
sessione semplicemente digitando script
nel terminale, tutti i comandi successivi e i relativi output verranno tutti salvati in un file denominato typescript
nella directory corrente. Puoi anche salvare il risultato in un file diverso avviando semplicemente script
come:
script output.txt
Per disconnettersi dallo script
sessione (interrompi il salvataggio dei contenuti), digita semplicemente exit
.
Ecco un esempio:
$ script output.txt
Script started, file is output.txt
$ ls
output.txt testfile.txt foo.txt
$ exit
exit
Script done, file is output.txt
Ora se leggo il file:
$ 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
ha anche molte opzioni ad es. in esecuzione silenziosamente -q
(--quiet
) senza mostrare/salvare i messaggi del programma, può anche eseguire un comando specifico -c
(--command
) piuttosto che una sessione, ha anche molte altre opzioni. Controlla man script
per avere più idee.