Cómo grabar comandos de terminal de Linux con “scénario”

Contenu

Illustration montrant un écran de terminal Linux

Les script commander vous permet d'enregistrer et de rejouer l'activité sur votre terminal. Ceci est utile lorsque vous souhaitez créer une référence des étapes que vous avez suivies ou que vous créez un didacticiel à suivre par d'autres..

script génère du texte tapé de toutes les commandes que vous avez exécutées. Cela fonctionne en vous mettant dans un sous-shell qui enregistre tout ce que vous exécutez. Votre session sera enregistrée en texte brut lorsque vous quitterez le shell. CA fait script plus fiable que les flux d'entrée redirigés.

Utilisation de base

Les script La commande peut être exécutée sans aucun argument:

scénario

Une nouvelle session de capture va commencer. Votre session de terminal sera enregistrée dans ./typescript dans votre répertoire de travail. Vous pouvez spécifier un fichier différent en donnant script une dispute:

exemple de script_session

Utilisez votre shell pour exécuter le script que vous souhaitez enregistrer. Lorsque vous avez terminé, presse Ctrl+D ou écrire exit pour quitter le sous-shell. Vous retournerez à votre session shell principale.

Vous pouvez maintenant inspecter le journal de session qui a été créé:

chat exemple_session

Vous verrez la sortie de votre script session entrecoupée d'annotations entre parenthèses. Ces annotations sont utilisées par script pour enregistrer des détails sur le terminal lui-même et les événements qui s'y produisent.

Étant donné que les fichiers journaux sont en texte brut, vous pouvez les manipuler librement dans votre éditeur préféré. Coupez simplement les lignes que vous ne voulez pas conserver ou que les autres ne devraient pas voir.

Ceci est utile si votre session génère par inadvertance des informations potentiellement sensibles ou si vous souhaitez supprimer des caractères étranges du registre.. script enregistre tout ce qui se passe dans votre terminal, y compris les touches de retour arrière, nouvelles lignes et caractères de contrôle, dont certains peuvent ne pas être nécessaires dans le texte dactylographié final.

script affiche le nom du fichier dans lequel vous écrivez au début et à la fin de votre session. Vous pouvez désactiver cette sortie en ajoutant le -q indicateur pour activer le mode silencieux.

Les SHELL La variable d'environnement est lue lors de la détermination du shell à brancher pour la procédure interne. Lorsque la variable n'est pas définie, script par défaut à sh.

Ajouter à un fichier existant

Il est possible d'ajouter de nouvelles commandes à un script dactylographié existant. Cela vous permet de “pause” et “reprendre” la grabación saliendo de su sub-shell e iniciando una nueva sesión.

Ajouter le -a flag pour ajouter vos commandes au fichier spécifié. script écrasera le contenu du fichier lorsque l'indicateur n'est pas fourni.

script -a example_session

Ajouter des données de temps

Le tapuscrit de base est idéal lorsque vous souhaitez simplement enregistrer vos étapes pour les lire ou les partager plus tard. script vous pouvez également enregistrer des données de temps avec votre journal de texte. Ces informations peuvent être utilisées pour rejouer l'intégralité de votre session de terminal avec des délais appropriés entre les commandes.

Courir script avec lui -t cochez pour spécifier un chemin pour écrire les heures. Les fichiers de temps ont un format à deux colonnes. Chaque entrée contient le temps écoulé depuis le dernier enregistrement dans la première colonne. La deuxième colonne enregistre le nombre de caractères qui ont été saisis, permettant des répétitions avec une vitesse de frappe précise.

script -q -t exemple_session_timings exemple_session

Séances de jeu

Les scriptreplay la commande lit les fichiers dactylographiés et temporels créés par script. Jouez votre sortie sur votre terminal. Les données temporelles seront utilisées pour faire correspondre la longueur de chaque caractère tapé à sa longueur dans son script d'origine.

scriptreplay -t example_session_timings example_session

Algunos scripts pueden contener retrasos no deseados o ejecutarse a una velocidad incómodamente lenta. Utilisez le -d bandera para acelerar la salida. Todos los tiempos registrados se dividirán por el número que pase.

# Run 4 times faster
scriptreplay -d 4 -t timings typescript

Vous pouvez également utiliser le -m marca para limitar el retraso máximo entre actualizaciones individuales. Esto le posibilita especificar la pausa más larga permitida en segundos antes scriptreplay pasará al siguiente comando, inclusive si el texto mecanografiado especifica un retraso mayor.

# Maximum delay of 2 seconds
scriptreplay -m 2 -t timings typescript

Uso con comandos interactivos

No se recomienda utilizar script con comandos muy interactivos. Es probable que los editores de texto de terminal, las aplicaciones sustentadas en maldiciones y los mensajes de diálogo inserten caracteres basura contaminantes en su texto mecanografiado. script se centra en capturar la salida típica basada en texto, no en comandos que manipulan su terminal para producir una interfaz gráfica.

script ne convient pas pour une utilisation avec des coques non interactives car sa coque interne est toujours de nature interactive. La commande CA ne devrait pas être devrait fonctionner avec une entrée canalisée.

Autres options

Les -c signaler un script permet de spécifier une commande. Lors de l'utilisation de ce mode, script exécuter la commande et capturer sa sortie, au lieu de forger un nouveau shell interactif. Cela peut être plus efficace pour capturer la sortie de certains processus qui se comportent différemment lorsqu'ils ne sont pas directement connectés à un TTY..

Les -f le drapeau indique script d'écrire directement dans le journal de session après chaque événement. Cela améliore la sécurité en garantissant que la sortie est capturée immédiatement.

Les script page de manuel suggère ce drapeau pourrait également être utilisé pour surveiller le terminal d'un utilisateur en temps réel, comme dans un scénario enseignant et élève. L'étudiant courrait script -f, plus tard, le maître utiliserait SSH pour se connecter et diffuser le script dactylographié en direct.

script n'accepte généralement pas un lien symbolique comme chemin tapé. Les --force flag permet ce comportement, instruire script pour résoudre les liens matériels et mous vers leur destination.

résumé

script vous permet d'enregistrer vos sessions de terminal dans des fichiers en texte brut avec des données temporelles précises. Peut inspecter, partager et imprimer les scripts saisis manuellement ou les reproduire sur votre terminal à l'aide scriptreplay.

Les commandes sont incluses avec les distributions Linux les plus populaires. Ils fonctionnent avec tous les types de terminaux, mais les scripts individuels peuvent ne pas être lus correctement sur un terminal autre que celui utilisé pour l'enregistrement. Pour les meilleurs résultats, Cours scriptreplay dans le même type de terminal que vous avez utilisé avec script.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.