Come registrare tutto ciò che fai nel terminale Linux
Registra le attività del terminale Linux utilizzando il comando script
Abbiamo già pubblicato una guida che spiegava come salvare i comandi nel terminale stesso e utilizzarli su richiesta. È molto utile per coloro che non vogliono memorizzare comandi Linux lunghi e complessi. Oggi, in questa guida, vedremo come registrare tutto ciò che fai nel Terminale utilizzando il comando script in Linux.
introduzione
Potresti aver eseguito un comando, creato una directory o installato un'applicazione nel Terminale. Il comando script salva semplicemente tutto ciò che hai fatto nel Terminale. Puoi quindi visualizzarli se vuoi sapere cosa hai fatto poche ore o giorni fa.
Lo so, lo so, possiamo usare i tasti freccia SU/GIÙ o il comando cronologia per visualizzare i comandi eseguiti in precedenza. Tuttavia, non è possibile visualizzare l'output di tali comandi. Tuttavia, il comando Script registra e visualizza le attività complete della sessione terminale.
Il comando script crea un dattiloscritto di tutto ciò che fai nel Terminale. Non importa se installi un'applicazione, crei una directory/file, rimuovi una cartella. Verrà registrato tutto, compresi i comandi e le rispettive uscite.
Il comando script sarà utile a chi desidera una registrazione cartacea di una sessione interattiva come prova di un compito. Che tu sia uno studente o un tutor, puoi fare una copia di tutto ciò che fai nel Terminale insieme a tutti gli output.
Registra tutto ciò che fai nel terminale utilizzando il comando script in Linux
Il comando script fa parte del pacchetto util-linux sui sistemi basati su RPM e del pacchetto bsdutils sui sistemi basati su DEB ed è preinstallato sulla maggior parte dei moderni sistemi operativi Linux. Quindi non preoccupiamoci dell'installazione.
Andiamo avanti e vediamo come utilizzarlo in tempo reale.
Esegui il comando seguente per avviare la registrazione della sessione del Terminale.
script -a my_terminal_activities
Dove il flag -a viene utilizzato per aggiungere l'output a un file o a un dattiloscritto, mantenendo il contenuto precedente. Il comando precedente registra tutto ciò che fai nel Terminale e aggiunge l'output a un file chiamato 'my_terminal_activities' e lo salva nella directory di lavoro corrente.
L'output di esempio sarebbe:
Script started, file is my_terminal_activities
Ora esegui alcuni comandi Linux casuali nel tuo Terminale.
mkdir ostechnix
cd ostechnix/
touch hello_world.txt
cd ..
uname -r
Dopo aver eseguito tutti i comandi, termina la sessione del comando 'script' utilizzando il comando:
exit
Dopo aver digitato exit, otterrai il seguente output.
exit
Script done, file is my_terminal_activities
Registra tutto ciò che fai nel terminale utilizzando il comando script in Linux
Come vedi, le attività del Terminale sono state archiviate in un file chiamato 'my_terminal_activities' e lo salva nella directory di lavoro corrente.
Puoi anche salvare le attività del Terminale in un file in una posizione diversa come di seguito.
script -a /home/ostechnix/documents/myscripts.txt
Tutti i comandi verranno archiviati nel file /home/ostechnix/documents/myscripts.txt.
Visualizza le attività del terminale registrate
Per visualizzare le attività del tuo Terminale, apri semplicemente questo file in qualsiasi editor di testo o visualizzalo semplicemente utilizzando il comando 'cat'.
cat my_terminal_activities
Esempio di output:
Script started on 2019-10-22 12:07:37+0530
sk@ostechnix:~$ mkdir ostechnix
sk@ostechnix:~$ cd ostechnix/
sk@ostechnix:~/ostechnix$ touch hello_world.txt
sk@ostechnix:~/ostechnix$ cd ..
sk@ostechnix:~$ uname -r
5.0.0-31-generic
sk@ostechnix:~$ exit
exit
Script done on 2019-10-22 12:08:10+0530
Visualizza le attività del terminale
Come puoi vedere nell'output sopra, il comando script ha registrato tutte le mie attività sul Terminale, inclusa l'ora di inizio e fine del comando script. Fantastico, non è vero? Il motivo per utilizzare il comando script è che non registra solo i comandi, ma anche l'output dei comandi. Per dirla semplicemente, il comando Script registrerà tutto ciò che fai sul Terminale.
Riproduci le sessioni terminali registrate
A volte potresti voler riprodurre le sessioni del Terminale, come una GIF animata, invece di visualizzarla semplicemente. Se è così, puoi farlo facilmente con il comando Scriptreplay. Fare riferimento alla seguente guida per sapere come riprodurre le sessioni Terminali registrate.
- Come riprodurre le sessioni terminali registrate utilizzando il comando Scriptreplay
Registra un singolo comando
È anche possibile registrare l'output di un singolo comando utilizzando il flag -c come di seguito.
script -c "lsb_release -a" -a my_terminal_activities
Esempio di output:
Script started, file is my_terminal_activities
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic
Script done, file is my_terminal_activities
Per visualizzare l'output del comando registrato, è sufficiente eseguire:
cat my_terminal_activities
È molto utile per mostrare agli studenti la dimostrazione dell'utilizzo di un comando specifico o condividere l'output di un comando con i colleghi o il team di supporto.
Registra le sessioni del terminale con timestamp
Come menzionato da uno dei nostri lettori Mr.Alastair Montgomery nella sezione commenti qui sotto, potremmo impostare un alias che timestamperà le sessioni registrate.
Crea un alias per il comando script come di seguito.
alias rec=’script -aq ~/term.log-$(date “+%Y%m%d-%H-%M”)’
Ora inserisci semplicemente il seguente comando per avviare la registrazione del Terminale.
rec
Ora, tutte le tue attività sul Terminale verranno registrate in un file di testo con timestamp, ad esempio term.log-20191022-12-16.
Registra le attività del terminale con timestamp
Lettura consigliata:
- Asciinema: registra sessioni terminali e condividile sul Web
- Aggiungi ai segnalibri i comandi Linux per un'invocazione ripetuta più semplice
- Applica tag ai comandi Linux per recuperarli facilmente dalla cronologia
- Richiama facilmente i comandi Linux dimenticati utilizzando Apropos
- Pet: un semplice gestore di snippet da riga di comando
Registra le sessioni del Terminale in modalità silenziosa
Come hai notato, quando avviamo il comando script per registrare la sessione del terminale, viene visualizzato un messaggio di benvenuto: "Script avviato, il file è my_terminal_activities" e visualizza "Script completato, il file è my_terminal_activities" dopo aver terminato la registrazione. Se non vuoi visualizzare questi messaggi, puoi eseguire il comando script in modalità silenziosa utilizzando il flag -q come di seguito.
script -a -q my_terminal_activities
Per ulteriori dettagli, fare riferimento alla pagina man.
man script
Conclusione
Come ho detto, il comando script sarebbe utile per studenti, insegnanti e tutti gli utenti Linux che desiderano tenere traccia delle proprie attività sul Terminale. Anche se sono disponibili molti strumenti CLI e GUI per eseguire questa operazione, il comando script è il modo più semplice e veloce per registrare le attività della sessione del Terminale.