Qualche tempo fa, abbiamo imparato come registrare tutto ciò che fai in Terminale usando il comando Script su Linux. Utilizzando il comando Script, possiamo registrare le sessioni del Terminale in un file dattiloscritto e visualizzarle in seguito utilizzando Cat comando o qualsiasi altra applicazione di visualizzazione del testo. Oggi vedremo come riprodurre le sessioni di Terminale registrate utilizzando Scriptreplay comando su Linux.
Scriptreplay viene utilizzato per riprodurre un dattiloscritto creato dal comando "Script" sullo standard output. 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 è necessario installarlo.
Riproduci le sessioni del terminale registrate utilizzando Scriptreplay
Come forse già saprai, il gatto il comando visualizzerà solo il dattiloscritto, ma non li riprodurrà. Se desideri ripetere l'attività del Terminale invece di visualizzarla semplicemente, utilizza "scriptreplay" comando.
Per riprodurre le attività del terminale utilizzando scriptreplay, devi prima registrarlo utilizzando "script" comando con informazioni sui tempi in un file usando -t parametro come di seguito.
$ script -a my_terminal_activities -t=time.log
Oppure,
$ script -a my_terminal_activities --timing=time.log
Ecco,
- terminal.log è il file che contiene l'output di temporizzazione del dattiloscritto. Puoi utilizzare qualsiasi nome a tua scelta, ad esempio time.txt, timing.log ecc.
- le mie_attività_terminali è il file che contiene l'output del terminale dello script di output, ovvero tutte le attività del terminale registrate.
Ora, fai quello che vuoi fare nel tuo Terminale. Ad esempio, eseguirò alcuni comandi Linux casuali nel mio Terminale.
$ lsb_release -a
$ uname -a
Dopo aver eseguito tutti i comandi, termina la registrazione con il comando:
$ exit
Al termine della registrazione, riproducila semplicemente con il comando:
$ scriptreplay -t=time.log my_terminal_activities
Oppure,
$ scriptreplay --timing=time.log my_terminal_activities
Questo comando inizierà a riprodurre la sessione del terminale registrata invece di mostrare solo l'intera attività.
Ecco un esempio di output dal mio sistema Ubuntu 18.04:
Aumenta o diminuisci la velocità di riproduzione
Per impostazione predefinita, Scriptreplay riprodurrà l'output alla stessa velocità in cui era originariamente apparso quando è stato registrato il dattiloscritto. Tuttavia, puoi aumentare o diminuire la velocità di riproduzione a tuo piacimento.
Ad esempio, per riprodurre il dattiloscritto a velocità doppia (cioè 2x) rispetto alla velocità originale, eseguire:
$ scriptreplay -t=terminal.log my_terminal_activities 2
Per riprodurre un dattiloscritto alla metà della velocità originale:
$ scriptreplay -t=terminal.log my_terminal_activities 0.5
Per riprodurre lo script con una velocità dieci volte inferiore alla velocità originale, esegui:
$ scriptreplay -t=terminal.log my_terminal_activities 0.1
Tieni presente che Scriptreplay mostra semplicemente l'attività della sessione registrata con il comando Script. In realtà non eseguirà i comandi/programmi che sono stati eseguiti quando è stato registrato il dattiloscritto. Poiché le stesse informazioni vengono semplicemente visualizzate, è garantito che scriptreplay funzioni correttamente solo se eseguito sullo stesso tipo di terminale su cui è stato registrato il dattiloscritto.
Per assistenza, esegui:
$ scriptreplay --help Usage: scriptreplay [-t] timingfile [typescript] [divisor] Play back terminal typescripts, using timing information. Options: -t, --timing <file> script timing output file -s, --typescript <file> script terminal session output file -d, --divisor <num> speed up or slow down execution with time divisor -m, --maxdelay <num> wait at most this many seconds between updates -h, --help display this help -V, --version display version
Maggiori dettagli possono essere trovati nelle pagine man.
$ man scriptreplay
Lettura consigliata:
- Asciinema:registra le sessioni del terminale e condividile sul Web
- Come salvare i comandi e usarli su richiesta
- 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