GNU/Linux >> Tutoriels Linux >  >> Linux

Enregistrez votre terminal avec script et scriptreplay

Ce qui est fascinant chez les humains, c'est que nous avons chacun un style d'apprentissage particulier. Certaines personnes préfèrent lire comment quelque chose est fait. Certaines personnes préfèrent suivre les instructions dès le début, tandis que d'autres préfèrent avoir une vue d'ensemble avant de s'engager. D'autres personnes aiment écouter les instructions d'un instructeur ou d'un podcast. Et encore un autre groupe veut des instructions sous forme de vidéo.

Le problème avec la vidéo, c'est qu'elle peut être difficile à produire et à compresser, et c'est beaucoup de travail à changer une fois que c'est fait. De plus, les téléspectateurs ne peuvent pas copier et coller les commandes Linux d'une vidéo dans leur terminal.

Ou peuvent-ils ?

Le script et scriptreplay Les commandes vous permettent d'enregistrer une session de terminal, puis de la lire plus tard. Il n'y a pas de vidéo impliquée. Au lieu de cela, des fichiers de texte brut appelés typescripts sont utilisés, les fichiers sont donc petits et les utilisateurs peuvent copier les commandes pendant la lecture.

Les deux script et scriptreplay Les commandes sont des outils de documentation précieux, et je les trouve utiles dans deux scénarios :

  1. Peu importe la sincérité avec laquelle je me promets de parcourir l'historique de mon shell et de rassembler les commandes appropriées une fois que j'aurai trouvé la bonne façon d'accomplir une tâche, je le fais rarement.
  2. Parfois, mes utilisateurs ne veulent pas voir la saisie qui leur est demandée ; ils veulent voir l'interaction entre eux et l'ordinateur. Vous pouvez dire à un utilisateur de taper ls et décrire ce qu'ils peuvent s'attendre à voir en réponse, mais cela a un impact plus important lorsqu'ils voient cela se produire eux-mêmes. Je trouve les utilisateurs beaucoup plus courageux dans le terminal après avoir lu un fichier de script pour voir d'abord à quoi ça ressemble.

[ Inscrivez-vous à Ansible Basics :Présentation technique de l'automatisation et découvrez la gestion de la configuration, le provisionnement, le déploiement et la gestion de l'infrastructure de calcul dans tous les environnements avec Ansible. ]

Enregistrer votre terminal

Pour démarrer l'enregistrement avec script , fournissez deux fichiers de destination :un fichier de synchronisation et un typescript fichier :

$ script --timing=time.tm myscript

La sortie vous avertit que script a commencé l'enregistrement. Tout ce que vous faites dans votre terminal pendant que script est actif est enregistré. Cela inclut tout ce qui va à stdin, stdout et stderr, y compris vos pauses, retours arrière, auto-complétions et même vos erreurs.

Appuyez sur Ctrl+D ou tapez exit pour arrêter l'enregistrement lorsque vous avez terminé votre démonstration.

Le fichier tapuscrit résultant, myscript dans cet exemple, est simple et relativement auto-documenté :

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

Vous pouvez modifier ce fichier. mais attention à ne pas faire trop de changements car le timing de la sortie a également été enregistré.

Néanmoins, pour corriger des erreurs mineures, une modification rapide avec un éditeur de texte est une solution facile.

Lecture d'un script

Vous pouvez lire un script enregistré en utilisant le scriptreplay commande :

$ scriptreplay --timing=time.tm myscript

Cela prend en charge votre session de terminal et l'utilise comme canevas pour rejouer l'entrée et la sortie de ce que vous avez enregistré. Le minutage est également reproduit, de sorte que des pauses significatives pour plus de clarté sont conservées, ce qui peut être utile à un utilisateur qui suit la lecture du script.

Bien sûr, les commandes lues dans le terminal ne sont pas exécutées. Il s'agit simplement d'une relecture instantanée, il est donc sûr de lire des scripts qui suppriment des fichiers, effectuent des commits Git ou lancent des lectures Ansible. Rien dans la lecture d'un script ne se produit réellement. C'est juste un film.

Documentation en action

Le script et scriptreplay Les commandes sont des outils précieux pour la philosophie "montrer, ne pas dire". Que votre public cible soit vous à un moment donné dans le futur, longtemps après avoir oublié ce que vous étiez sûr de ne jamais oublier, ou un nouvel utilisateur de terminal timide, voir l'interaction homme-ordinateur peut être éclairant et stimulant.

Contrairement aux captures d'écran, les tapuscrits sont de petite taille et faciles à mettre à jour et à modifier. Contrairement à l'historique de votre shell, les tapuscrits ne tournent pas. Ils ne disparaissent que si vous les enlevez vous-même. Et contrairement aux scripts shell, un tapuscrit montre les étapes sans exécuter le processus, encourageant le spectateur à essayer chaque étape, à l'intérioriser et à la mémoriser, et à mieux comprendre ce que le terminal est vraiment capable de faire.


Linux
  1. Enregistrez votre session terminale avec Asciinema

  2. Surveillez votre système Linux dans votre terminal avec procps-ng

  3. Comment Noëlsifier votre terminal et votre shell Linux

  4. Comment capturer les sessions de terminal et la sortie avec la commande de script Linux

  5. Coloriser votre environnement terminal et shell ?

Revivez votre flux RSS avec Newsboat dans le terminal Linux

Baignez-vous sur votre terminal Linux avec asciiquarium

Apportez de la couleur à votre terminal Linux avec lolcat

Comment enregistrer et rejouer des sessions de terminal Linux à l'aide des commandes "script" et "scriptreplay"

Comment enregistrer votre session de terminal sous Linux

Comment enregistrer des sessions de terminal dans Ubuntu