GNU/Linux >> Linux Esercitazione >  >> Linux

Registra il tuo terminale con script e scriptreplay

Una cosa affascinante degli esseri umani è che ognuno di noi ha uno stile di apprendimento particolare. Alcune persone preferiscono leggere come viene eseguita una cosa. Alcune persone preferiscono seguire le istruzioni dall'inizio, mentre altre preferiscono avere una panoramica prima di impegnarsi. Ad altre persone piace ascoltare le istruzioni di un istruttore o di un podcast. E ancora un altro gruppo vuole istruzioni sotto forma di video.

Il problema con il video è che può essere difficile da produrre e comprimere, ed è molto lavoro da cambiare una volta terminato. Inoltre, gli spettatori non possono copiare e incollare i comandi Linux da un video nel proprio terminale.

O possono?

Lo script e scriptreplay i comandi consentono di registrare una sessione del terminale e riprodurla in un secondo momento. Non c'è nessun video coinvolto. Invece, file di testo normale chiamati dattiloscritti vengono utilizzati, quindi i file sono piccoli e gli utenti possono copiare i comandi durante la riproduzione.

Entrambi script e scriptreplay i comandi sono preziosi strumenti di documentazione e li trovo utili in due scenari:

  1. Non importa quanto sinceramente mi prometto che analizzerò la cronologia della mia shell e raccoglierò i comandi appropriati una volta che avrò scoperto il modo giusto per portare a termine un compito, lo faccio raramente.
  2. A volte, i miei utenti non vogliono vedere l'input loro richiesto; vogliono vedere l'interazione tra loro e il computer. Puoi dire a un utente di digitare ls e descrivere ciò che possono aspettarsi di vedere in risposta, ma ha un impatto maggiore quando vedono accadere loro stessi. Trovo gli utenti molto più coraggiosi nel terminale dopo aver riprodotto un file di script per vedere prima com'è.

[ Registrati per Ansible Basics:Automation Technical Overview e scopri la gestione della configurazione, il provisioning, l'implementazione e la gestione dell'infrastruttura di elaborazione negli ambienti con Ansible. ]

Registra il tuo terminale

Per avviare la registrazione con script , fornisci due file di destinazione:un file di temporizzazione e un dattiloscritto file:

$ script --timing=time.tm myscript

L'output ti avvisa che script ha iniziato a registrare. Tutto ciò che fai nel tuo terminale mentre script è attivo è registrato. Ciò include tutto ciò che va a stdin, stdout e stderr, comprese le pause, i backspace, i completamenti automatici e persino i tuoi errori.

Premi Ctrl+D oppure digita exit per interrompere la registrazione al termine della dimostrazione.

Il file dattiloscritto risultante, myscript in questo esempio, è semplice e relativamente auto-documentante:

Script started on 2022-01-06 22:27:01+13:00
0;seth:~/script^G$ echo "hello world"
hello world
0;seth:~/script^G$ exit
exit

Script done on 2022-01-06 22:27:10+13:00

Puoi modificare questo file. ma attenzione a fare troppe modifiche perché è stata registrata anche la temporizzazione dell'uscita.

Tuttavia, per correggere errori minori, una rapida modifica con un editor di testo è una soluzione semplice.

Riproduzione di un copione

Puoi riprodurre uno script registrato usando scriptreplay comando:

$ scriptreplay --timing=time.tm myscript

Questo prende il controllo della tua sessione terminale e la usa come tela per riprodurre l'input e l'output di ciò che hai registrato. Anche i tempi vengono replicati, quindi vengono mantenute pause significative per chiarezza, il che può essere utile per un utente che segue insieme alla riproduzione dello script.

Naturalmente, i comandi riprodotti nel terminale non vengono eseguiti. È solo un replay istantaneo, quindi è sicuro riprodurre script che eliminano file, eseguono commit Git o avviano riproduzioni Ansible. Non succede nulla nella riproduzione di uno script. È solo un film.

Documentazione in azione

Lo script e scriptreplay i comandi sono strumenti preziosi per la filosofia "mostra non dire". Che tu sia il tuo pubblico di destinazione ad un certo punto in futuro, molto tempo dopo aver dimenticato ciò che eri sicuro di non dimenticare mai, o un timido nuovo utente di terminale, vedere l'interazione uomo-computer può essere illuminante e potenziante.

A differenza delle acquisizioni dello schermo, i dattiloscritti sono di piccole dimensioni e facili da aggiornare e modificare. A differenza della cronologia della shell, i dattiloscritti non ruotano. Non vanno via se non li rimuovi tu stesso. E a differenza degli script di shell, un dattiloscritto mostra i passaggi senza eseguire il processo, incoraggiando lo spettatore a provare ogni passaggio, interiorizzarlo e memorizzarlo e acquisire una migliore comprensione di ciò che il terminale è veramente in grado di fare.


Linux
  1. Registra la tua sessione terminale con Asciinema

  2. Monitora il tuo sistema Linux nel tuo terminale con procps-ng

  3. Potenzia il tuo editor di testo del terminale Linux con ed

  4. Controlla l'ora e la data del tuo computer con systemd

  5. Stai colorando il tuo terminale e l'ambiente della shell?

Ravviva il tuo feed RSS con Newsboat nel terminale Linux

Fai una nuotata nel tuo terminale Linux con asciiquarium

Dai un tocco di colore al tuo terminale Linux con lolcat

Come registrare e riprodurre sessioni del terminale Linux utilizzando i comandi "script" e "scriptreplay".

Come registrare la sessione del terminale su Linux

Come registrare sessioni di terminale in Ubuntu