GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rejouer les sessions de terminal enregistrées à l'aide de la commande Scriptreplay

Il y a quelque temps, nous avons appris à enregistrer tout ce que vous faites dans Terminal à l'aide de la commande Script sur Linux. En utilisant la commande Script, nous pouvons enregistrer les sessions Terminal dans un fichier dactylographié et les afficher plus tard en utilisant Cat commande ou toute autre application d'affichage de texte. Aujourd'hui, nous allons voir comment rejouer les sessions Terminal enregistrées à l'aide de Scriptreplay commande sous Linux.

Le Scriptreplay est utilisé pour rejouer un tapuscrit créé par la commande "Script" sur la sortie standard. Il fait partie de l'util-linux package sur les systèmes basés sur RPM et bsdutils package sur les systèmes basés sur DEB et il est préinstallé sur la plupart des systèmes d'exploitation Linux modernes. Nous n'avons donc pas besoin de l'installer.

Rejouer les sessions de terminal enregistrées à l'aide de Scriptreplay

Comme vous le savez peut-être déjà, le chat La commande affichera uniquement le texte dactylographié, mais ne les lira pas. Si vous souhaitez rejouer l'activité du terminal au lieu de simplement la visualiser, utilisez "scriptreplay" commande.

Pour rejouer les activités du terminal à l'aide de scriptreplay, vous devez d'abord l'enregistrer à l'aide de "script" commande avec des informations de synchronisation dans un fichier en utilisant -t paramètre comme ci-dessous.

$ script -a my_terminal_activities -t=time.log

Ou,

$ script -a my_terminal_activities --timing=time.log

Ici,

  • terminal.log est le fichier qui contient la sortie temporelle du tapuscrit. Vous pouvez utiliser n'importe quel nom de votre choix, par exemple time.txt, timing.log etc.
  • my_terminal_activities est le fichier qui contient la sortie du terminal du script de sortie, c'est-à-dire toutes les activités enregistrées du terminal.

Maintenant, faites ce que vous voulez faire dans votre terminal. Par exemple, je vais exécuter des commandes Linux aléatoires dans mon terminal.

$ lsb_release -a
$ uname -a

Après avoir exécuté toutes les commandes, terminez l'enregistrement avec la commande :

$ exit

Une fois l'enregistrement terminé, rejouez-le simplement avec la commande :

$ scriptreplay -t=time.log my_terminal_activities

Ou,

$ scriptreplay --timing=time.log my_terminal_activities

Cette commande commencera à rejouer la session de terminal enregistrée au lieu de simplement afficher toute l'activité.

Voici un exemple de sortie de mon système Ubuntu 18.04 :

Augmenter ou diminuer la vitesse de lecture

Par défaut, Scriptreplay rejouera la sortie à la même vitesse que celle à laquelle elle apparaissait à l'origine lors de l'enregistrement du texte dactylographié. Vous pouvez cependant augmenter ou diminuer la vitesse de lecture à votre guise.

Par exemple, pour rejouer le texte dactylographié au double (c'est-à-dire 2x la vitesse) de la vitesse d'origine, exécutez :

$ scriptreplay -t=terminal.log my_terminal_activities 2

Pour rejouer un tapuscrit à la moitié de la vitesse d'origine :

$ scriptreplay -t=terminal.log my_terminal_activities 0.5

Pour rejouer le script avec une vitesse dix fois plus lente que la vitesse d'origine, exécutez :

$ scriptreplay -t=terminal.log my_terminal_activities 0.1

Veuillez noter que Scriptreplay affiche simplement l'activité de la session enregistrée avec la commande Script. Il n'exécutera pas réellement les commandes/programmes qui ont été exécutés lorsque le tapuscrit a été enregistré. Étant donné que les mêmes informations sont simplement affichées, le bon fonctionnement du scriptreplay n'est garanti que s'il est exécuté sur le même type de terminal sur lequel le tapuscrit a été enregistré.

Pour obtenir de l'aide, exécutez :

$ 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

Plus de détails peuvent être trouvés dans les pages de manuel.

$ man scriptreplay

Suggestion de lecture :

  • Asciinema – Enregistrer les sessions du terminal et les partager sur le Web
  • Comment enregistrer des commandes et les utiliser à la demande
  • Mettre en signet les commandes Linux pour faciliter les appels répétés
  • Appliquez des balises aux commandes Linux pour les récupérer facilement de l'historique
  • Rappel facile des commandes Linux oubliées à l'aide d'Apropos
  • Animal :un gestionnaire d'extraits de code simple en ligne de commande

Linux
  1. Comment créer une base de données dans MySQL à l'aide de la ligne de commande

  2. Comment extraire le fichier tar.gz sous Linux à l'aide de la ligne de commande

  3. Comment supprimer un utilisateur sous Linux à l'aide de la ligne de commande

  4. Comment rejouer les sessions de terminal enregistrées avec la commande de script Linux

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

Comment redémarrer Ubuntu à partir du terminal

Comment enregistrer la sortie de la commande dans un fichier à l'aide du terminal Linux

Comment redémarrer Debian en utilisant la ligne de commande

Comment enregistrer des sessions de terminal Linux à l'aide d'Asciinema

Tutoriel sur l'utilisation de la dernière commande dans le terminal Linux

Comment utiliser la commande nmap