Abbiamo già pubblicato una guida che spiegava come salvare i comandi nel terminale stesso e usarli 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 in Terminal usando script comando.
Potresti aver eseguito un comando, creato una directory o installato un'applicazione in 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 la cronologia comando per visualizzare i comandi in esecuzione in precedenza. Tuttavia, non è possibile visualizzare l'output di tali comandi. Tuttavia, il comando Script registra e visualizza le attività complete della sessione del 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 per chi desidera un record cartaceo 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 i risultati.
Registra tutto ciò che fai nel terminale usando il comando Script in Linux
Il comando script fa parte di util-linux pacchetto su sistemi basati su RPM e bsdutils pacchetto su sistemi basati su DEB e viene preinstallato sulla maggior parte dei moderni sistemi operativi Linux. Quindi, non preoccupiamoci dell'installazione.
Andiamo avanti e vediamo come usarlo in tempo reale.
Esegui il comando seguente per avviare la registrazione della sessione di Terminale.
$ script -a my_terminal_activities
Dove, -a flag viene utilizzato per aggiungere l'output al file o al dattiloscritto, mantenendo i contenuti precedenti. Il comando precedente registra tutto ciò che fai nel Terminale e aggiunge l'output a un file chiamato 'my_terminal_activities' e salvalo 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 usando il comando script in Linux
Come vedi, le attività del Terminale sono state memorizzate 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 in /home/otechnix/documents/myscripts.txt file.
Visualizza le attività del terminale registrate
Per visualizzare le tue attività del Terminale, apri questo file in qualsiasi editor di testo o semplicemente visualizzalo utilizzando il 'gatto' comando.
$ cat my_terminal_activities
Risultato di esempio:
Script started on 2019-10-22 12:07:37+0530 [email protected]:~$ mkdir ostechnix [email protected]:~$ cd ostechnix/ [email protected]:~/ostechnix$ touch hello_world.txt [email protected]:~/ostechnix$ cd .. [email protected]:~$ uname -r 5.0.0-31-generic [email protected]:~$ 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à del Terminale, incluso l'ora di inizio e di fine del comando di script. Fantastico, 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 ripetere le sessioni del Terminale, come una GIF animata, invece di visualizzarla semplicemente. In tal caso, puoi farlo facilmente con il comando Scriptreplay. Fare riferimento alla seguente guida per sapere come riprodurre le sessioni Terminal registrate.
- Come riprodurre le sessioni del terminale registrate utilizzando il comando Scriptreplay
Registra un singolo comando
È anche possibile registrare l'output di un singolo comando usando -c segnala come sotto.
$ script -c "lsb_release -a" -a my_terminal_activities
Risultato di esempio:
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, esegui semplicemente:
$ cat my_terminal_activities
È molto utile per mostrare agli studenti la dimostrazione dell'utilizzo di un comando specifico o per condividere l'output di un comando con i tuoi colleghi o il team di supporto.
Registra le sessioni del Terminale con timestamp
Come uno dei nostri lettori Mr.Alastair Montgomery menzionato nella sezione commenti qui sotto, potremmo impostare un alias che segnerebbe la data e l'ora delle sessioni registrate.
Crea un alias per il comando di script come di seguito.
$ alias rec=’script -aq ~/term.log-$(date “+%Y%m%d-%H-%M”)’
Ora inserisci semplicemente il seguente comando inizia a registrare il Terminale.
$ rec
Ora, tutte le tue attività del 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 le sessioni del terminale e condividile sul Web
- Segnalibro dei comandi di Linux per invocazioni ripetute più facili
- Applica tag ai comandi Linux per recuperarli facilmente dalla cronologia
- Richiama facilmente i comandi Linux dimenticati usando Apropos
- Animale domestico:un semplice gestore di frammenti 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 al termine della registrazione viene visualizzato "Script terminato, il file è il mio_terminal_activities". Se non desideri visualizzare quei messaggi, puoi eseguire il comando di script in modalità non interattiva utilizzando -q segnala come sotto.
$ script -a -q my_terminal_activities
Per maggiori 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 un registro delle loro attività del Terminale. Anche se sono disponibili molti strumenti CLI e GUI per farlo, il comando script è un modo più semplice e veloce per registrare le attività della sessione del Terminale.