GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erfassen Sie Terminalsitzungen und geben sie mit dem Linux-Skriptbefehl aus

Das Linux-script Der Befehl erstellt eine Typoskriptdatei aus Ihrer Terminalsitzung. Das heißt, wenn Sie das script aufrufen Befehl werden Sie zu einer „beobachteten und aufgezeichneten“ Subshell der Terminalsitzung verschoben, die in einer ASCII-Textdatei gespeichert ist. Wenn Sie mit einer Timing-Datei erstellt wurden, können Sie die Sitzung einschließlich der Ausgabe wiedergeben. Der Zweck von script ist, dass Sie einfach Beispielausgaben von jedem Befehl über eine interaktive Sitzung genau so abrufen können, wie sie in Ihrem Terminal angezeigt wird. Sie können die Rücktaste verwenden, Dateien bearbeiten, Dateien erstellen und einfache oder komplexe Befehle ausführen.

[ Den Lesern gefiel auch:Grundlagen von Linux-Befehlen:7 Befehle für die Prozessverwaltung ]

Der Wert des script Befehl ist in der Lage, die Ausgabe während Ihrer Terminalsitzung für jeden Terminalbefehl ohne Umleitungen zu erfassen, die nicht immer funktionieren. Ich war so oft frustriert, als ich versuchte, die Ausgabe eines Befehls zu erfassen, der irgendwie schief ging, bis ich script entdeckte . Mit Standardumleitungsoperatoren können einige Ausgaben in eine Datei umgeleitet werden, während andere Befehle die Ausgabe nur in stdout oder auf dem Bildschirm anzeigen. Die meisten Systemadministratoren verwenden das script Befehl zum Anzeigen der Ausgabe während der Softwareinstallation, bei der Fehlerbehebung oder für Entwicklungs- und Programmierzwecke.

Überraschenderweise ist das script Befehl hilft Ihnen nicht beim Erstellen von Shell-Skripten.

Skriptoptionen

Wie bei den meisten Befehlen, die ich verwende, verwende ich nur eine Teilmenge der verfügbaren Optionen für sie. Das script Befehl hat mehrere Optionen, die ich in meiner eigenen Arbeit nie nützlich fand. Die einzigen, die ich verwende, sind:

  • -a zum Anhängen neuer Befehle und Ausgabe in eine zuvor verwendete Datei.
  • -q zum Entfernen der anfänglichen Start- und Endanweisungen bei der Verwendung von script .
  • --t zum Speichern von Timing-Informationen für die Wiedergabe.

Wenn ich script verwende , verwende ich immer --t um eine Timing-Datei zu erstellen und -q für den Ruhemodus. Ich verwende nur -a wenn ich weitere Informationen an eine vorhandene Skriptdatei anhängen muss, was selten vorkommt.

Skriptnutzung

Das Folgende sind zwei Standardbeispiele dafür, wie ich script verwende :

$ script --t=<logfile> -q <script file>

Und zum Anhängen an die script file :

$ script --t=<logfile> -q -a <script file>

Wobei logfile und script file können Namen sein, die Sie wählen. Wenn Sie die Datei beenden und speichern möchten, verwenden Sie Strg-D auf deiner Tastatur. Sie können die Skriptdatei und die Protokolldatei nach Belieben anzeigen, bearbeiten oder entfernen. Sie sind einfache ASCII-Textdateien.

Hier ist ein Beispiel:

$ script --t=script_log -q scriptfile

Ich habe ls ausgeführt Befehl, der who Befehl, und dann habe ich das Skript mit Strg-D beendet .

$ 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

Wenn Sie Strg-D drücken , wird das Skript beendet und exit angezeigt .

Verwenden Sie die cat Befehl, um den Inhalt von scriptfile anzuzeigen .

$ 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

Wenn Sie möchten, können Sie auch cat verwenden das script_log Datei.

$ 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

Dies ist die Zeitprotokolldatei, die sich ähnlich wie ein Transaktionsprotokoll für Ihr script verhält Befehle und Antworten. Es ist wichtig, wenn Sie die Datei wiedergeben, was ich im Folgeartikel demonstriere, Wie man Terminalsitzungen wiedergibt, die mit dem Linux-Skriptbefehl aufgezeichnet wurden.

[ Lernen Sie die Grundlagen der Verwendung von Kubernetes in diesem kostenlosen Spickzettel. ] 

Abschluss

Für mich die beste Anwendung des script command dient dazu, neue Linux-Benutzer in der Verwendung von Befehlen zu schulen und ihnen die erwartete Ausgabe in Echtzeit zu zeigen, als ob sie selbst mit der Terminalsitzung interagieren würden. Für erfahrenere Benutzer könnten Sie eine Schulungssitzung erstellen, die eine neue Softwareinstallation oder -konfiguration lehrt. Training ist die Anwendung, an die ich denke, weil ich in meiner Vergangenheit neue Systemadministratoren geschult und Anleitungsartikel für verschiedene Veranstaltungsorte geschrieben habe. Und da die Ausgabe in ASCII-Textdateien erfolgt, können Sie die Ausgabe an Ihre eigenen Bedürfnisse und Zielgruppen anpassen.


Linux
  1. Finden Sie Dateien und Verzeichnisse unter Linux mit dem Befehl find

  2. Lesen und schreiben Sie Daten von überall mit Umleitung im Linux-Terminal

  3. So verwenden Sie den Tar-Befehl unter Linux

  4. So geben Sie Terminalsitzungen wieder, die mit dem Linux-Skriptbefehl aufgezeichnet wurden

  5. Wie kann die Ausgabe des Zeitbefehls in eine Datei unter Linux umgeleitet werden?

So verwenden Sie den Linux-Kopfbefehl

So verwenden Sie den Linux-diff-Befehl

So zeichnen Sie Linux-Terminalsitzungen mit den Befehlen „script“ und „scriptreplay“ auf und geben sie wieder

So erfassen und analysieren Sie Pakete mit dem Befehl tcpdump unter Linux

So verwenden Sie den Linux-rm-Befehl mit Beispielen

So speichern Sie die Ausgabe des Befehls in einer Datei mit dem Linux-Terminal