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