Le script
Linux La commande crée un fichier dactylographié à partir de votre session de terminal. Cela signifie que si vous invoquez le script
commande, vous êtes déposé dans un sous-shell de session de terminal "surveillé et enregistré" qui est enregistré dans un fichier texte ASCII. Lorsqu'il est créé avec un fichier de synchronisation, vous pouvez rejouer la session, y compris la sortie. Le but de script
est que vous pouvez facilement saisir un exemple de sortie de n'importe quelle commande via une session interactive exactement telle qu'elle est affichée dans votre terminal. Vous pouvez utiliser le retour arrière, modifier des fichiers, créer des fichiers et exécuter des commandes simples ou complexes.
[ Les lecteurs ont également aimé : Bases des commandes Linux :7 commandes pour la gestion des processus ]
La valeur du script
La commande est dans sa capacité à capturer la sortie pendant votre session de terminal pour toute commande de terminal sans redirections, qui ne fonctionnent pas toujours. J'ai été frustré tant de fois en essayant de capturer la sortie d'une commande qui tournait mal jusqu'à ce que je découvre script
. Avec les opérateurs de redirection standard, certaines sorties peuvent être redirigées vers un fichier, tandis que d'autres commandes n'afficheront que la sortie dans stdout ou à l'écran. La plupart des administrateurs système utilisent le script
commande pour afficher la sortie lors de l'installation du logiciel, lors du dépannage ou à des fins de développement et de programmation.
Étonnamment, le script
La commande ne vous aide pas à créer des scripts shell.
Options de script
Comme avec la plupart des commandes que j'utilise, je n'utilise qu'un sous-ensemble d'options disponibles pour elles. Le script
La commande a plusieurs options que je n'ai jamais trouvées utiles dans mon propre travail. Les seuls que j'utilise sont :
-a
pour ajouter de nouvelles commandes et une sortie à un fichier précédemment utilisé.-q
pour supprimer les instructions initiales de début et de fin lors de l'utilisation descript
.--t
pour enregistrer les informations de synchronisation pour la lecture.
Quand j'utilise script
, j'utilise toujours --t
pour créer un fichier de temps et -q
pour le mode silencieux. Je n'utilise que -a
lorsque j'ai besoin d'ajouter plus d'informations dans un fichier de script existant, ce qui est rare.
Utilisation des scripts
Voici deux exemples standard de la façon dont j'utilise script
:
$ script --t=<logfile> -q <script file>
Et, pour ajouter au script file
:
$ script --t=<logfile> -q -a <script file>
Où logfile
et script file
peuvent être des noms que vous choisissez. Lorsque vous souhaitez terminer et enregistrer le fichier, utilisez Ctrl-D sur votre clavier. Vous pouvez consulter, modifier ou supprimer le fichier de script et le fichier journal à volonté. Ce sont de simples fichiers texte ASCII.
Voici un exemple :
$ script --t=script_log -q scriptfile
J'ai exécuté le ls
commande, le who
commande, puis j'ai terminé le script avec Ctrl-D .
$ ls
blah.txt test1 test2 doc.txt
$ who
root tty1 2021-01-18 09:31
khess pts/0 2021-01-20 14:42 (192.168.0.5)
khess pts/1 2021-01-20 14:47
$ exit
Lorsque vous appuyez sur Ctrl-D , le script se termine et affiche exit .
Utilisez le cat
commande pour afficher le contenu de scriptfile
.
$ ls
blah.txt file_time scriptfile script.rec shell_record1 shell_record3 time_log
file_log record.scr script_log scriptrecord shell_record2 snap typescript
$ who
root tty1 2021-01-18 09:31
khess pts/0 2021-01-20 14:42 (192.168.0.5)
khess pts/1 2021-01-20 14:47
$ exit
Script done on 2021-01-20 14:47:28-06:00
Si vous le souhaitez, vous pouvez également cat
le script_log
fichier.
$ cat script_log
0.088699 31
3.393729 1
0.246070 1
0.540094 2
0.003060 196
0.000195 31
2.136900 1
0.177266 1
0.179336 1
0.540818 2
0.003883 134
0.000210 31
4.676286 6
Il s'agit du fichier journal de synchronisation qui se comporte comme un journal de transactions pour votre script
commandes et réponses. C'est important lorsque vous lisez le fichier, ce que je démontre dans l'article suivant, Comment rejouer les sessions de terminal enregistrées avec la commande de script Linux.
[ Apprenez les bases de l'utilisation de Kubernetes dans cet aide-mémoire gratuit. ]
Récapitulez
Pour moi, la meilleure application du script
La commande est destinée à former les nouveaux utilisateurs Linux à l'utilisation des commandes et à leur montrer la sortie attendue en temps réel, comme s'ils interagissaient eux-mêmes avec la session du terminal. Pour les utilisateurs plus expérimentés, vous pouvez créer une session de formation qui enseigne une nouvelle installation ou configuration de logiciel. La formation est l'application à laquelle je pense en raison de mon expérience avec la formation de nouveaux administrateurs système et la rédaction d'articles pratiques pour divers sites. Et puisque la sortie est dans des fichiers texte ASCII, vous pouvez modifier la sortie pour vos propres besoins et publics.