Ricerca nel sito web

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.

Articoli correlati