Aufzeichnung und Wiederholung von Linux -Terminalsitzungen mit Skript und ScripTreplay -FehLungen
- 3328
- 220
- Janin Pletsch
In diesem Leitfaden werden wir uns ansehen, wie man a benutzt Skript Und ScripTreplay Befehle in Linux, mit denen Sie Befehle und deren Ausgabe während einer bestimmten Sitzung auf Ihrem Terminal aufzeichnen können.
Aufzeichnung und Wiederholung von Linux TerminalbefehlenDer Befehl des Verlaufs ist ein großartiges Dienstprogramm für Befehlszeilen, mit dem Benutzer früher verwendete Befehl speichern können. Er speichert jedoch nicht die Ausgabe eines Befehls.
Verpassen Sie nicht: Showterm.IO - ein Linux -Terminalaufzeichnungswerkzeug
Verpassen Sie nicht: 8 beste Desktop -Bildschirmrekorder für Linux
Deshalb, die Skript Der Befehl ist praktisch, um Ihnen eine leistungsstarke Funktionalität zu bieten, mit der Sie alles aufzeichnen können, was auf Ihrem Terminal zu a gedruckt wird Logdatei. Sie können sich später auf diese Datei beziehen, falls Sie die Ausgabe eines Befehls im Verlauf aus dem anzeigen möchten Logdatei.
Sie können auch Befehle wiederholen, die Sie mit dem aufgezeichnet haben ScripTreplay Befehl mit Timing -Informationen.
So zeichnen Sie das Linux -Terminal mit dem Befehl script auf
Der Skript Der Befehl speichert Terminalaktivitäten in einer Protokolldatei, die von einem Benutzer benannt werden kann, wenn ein Name nicht von einem Benutzer angegeben wird, den Standarddateinamen, Typoskript wird eingesetzt.
Grundlegende Syntax des Skriptbefehls
# Skript [Optionen] - -timing = timing_file log_filename
Um mit der Aufzeichnung des Linux -Terminals zu beginnen, type Skript und fügen Sie das Protokoll hinzu Dateinamen wie gezeigt.
[E -Mail geschützt] ~ $ Skript history_log.txt Skript gestartet, Datei ist history_log.txt
Stoppen Skript, Typ Ausfahrt und drücke [Eingeben].
[E -Mail geschützt] ~ $ Ausfahrt Skript erledigt, Datei ist history_log.txt
Wenn das Skript nicht in die benannte Protokolldatei schreiben kann, wird ein Fehler angezeigt.
Zum Beispiel in der folgenden Ausgabe die Berechtigungen der Datei Typoskript Ermöglicht das Lesen, Schreiben und Ausführen der Datei nicht von einem Benutzer oder einer Gruppe. Wenn Sie den Befehl Skript ohne Protokolldateinamen ausführen, wird versucht, in die Standarddatei zu schreiben, Typoskript Daher einen Fehler anzeigen.
[E -Mail geschützt] ~ $ ls -l Typenkript --------- 1 Ubuntu Ubuntu 144 Sep 15 00:00 Typenkript [E -Mail geschützt] ~ $ Skript Skript: Open fehlgeschlagen: TypeScript: Erlaubnis abgelehnt Beendet
Beispiele für die Verwendung des Skriptbefehls
Ich habe meine Protokolldatei benannt Skript.Protokoll Im folgenden Beispiel können Sie Ihrer Datei einen anderen Namen geben.
[E -Mail geschützt] ~ $ Skriptskript.Protokoll
Versuchen Sie nun, nur wenige Befehle auszuführen, damit das Skript ausgeführte Befehle auf dem Terminal aufzeichnen kann.
[E -Mail geschützt] ~ $ Cal September 2015 Su mo tu we th fr sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 [E -Mail geschützt] ~ $ w 14:49:40 bis 4:06, 2 Benutzer, Ladendurchschnitt: 1.37, 1.56, 1.62 Benutzer tty von [E -Mail geschützt] Idle JCPU PCPU Was tecmint tty8: 0 10:45 4: 06m 7:40 0.36S X-Session-Manager Tecmint PTS/5: 0 13:42 4.00SS 0.07S 0.00S -Skriptskript.Protokoll [E -Mail geschützt] ~ $ Betriebszeit 14:49:43 UP 4:06, 2 Benutzer, Ladendurchschnitt: 1.37, 1.56, 1.62 [E -Mail geschützt] ~ $ Wer bin ich Tecmint [E -Mail geschützt] ~ $ Echo 'mit Skript' echo ' Verwenden von Skript [E -Mail geschützt] ~ $ Ausfahrt Skript beenden, Datei ist Skript.Protokoll
Versuchen Sie nun, die Protokolldatei anzuzeigen. 'Skript.Protokoll'Für alle aufgezeichneten Befehle, während Sie das Protokoll anzeigen.
[E -Mail geschützt] ~ $ VI -Skript.Protokoll
Probenausgabe
^[[0M^[[255d^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[00m cal^M September 2015^M su mo tu th fr sa^m 1 2 3 4 5 ^M 6 7 8 9 10 11 12 ^M 13 14 15 ^[[7M16 ^[[27M 17 18 19 ^M 20 21 22 23 24 25 27 27 28 29 30 ^M ^M ^[[01; [[01; [[01; [[01)) E -Mail geschützt]^[[01; 34m ~ $^[[00m W^M 14:49:40 UP 4:06, 2 Benutzer, Lastdurchschnitt: 1.37, 1.56, 1.62^m Benutzer tty aus [E -Mail geschützt] Idle JCPU PCPU Was^M tecmint tty8: 0 10:45 4: 06m 7:40 0.36S X-Session-Manager^M tecmint pts/5: 0 13:42 4.00SS 0.07S 0.00S -Skriptskript.log^m^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[00M UPTIME^M 14:49:43) 4:06, 2 Benutzer, Lastdurchschnitt: 1.37, 1.56, 1.62^m^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[00m Whoami^m tecmint^m^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[[[[E -Mail) [[E -Mail geschützt]^[[01; 34m ~ $^[[[[[[[[[[ 00m echo "^hu '^hs'^hi '^hn'^hg '^h'^hs '^hc'^hr '^hi'^hp '^ht'^h^m mit script^m^[[[[[[[[[[[[[[[[[) 01; [E -Mail geschützt]^[[01; 34m ~ $^[[00M Exit^m Exit^M Skript am Mittwoch 16. September 2015 02:49:59 Uhr IST ~
Sie können die verwenden -A Option zum Anhängen der Protokolldatei oder des Typscripts und beibehalten des vorherigen Inhalts.
[E -Mail geschützt] ~ $ Skript -Ein Skript.Protokoll Skript gestartet, Datei ist Skript.Protokoll [E -Mail geschützt] ~ $ Datum Mi 16. September 14:59:36 IST 2015 [E -Mail geschützt] ~ $ PWD /home/tecmint [E -Mail geschützt] ~ $ wobei Skript Skript:/usr/bin/script/usr/bin/x11/script/usr/Share/Man/Man1/Skript.1.gz [E -Mail geschützt] ~ $ Was ist das Skript Skript (1) - Machen Sie Typenkript der Terminalsitzung
Zeigen Sie den Inhalt des Skripts an und protokollieren Sie nach der Verwendung -A Option, es anzuhängen.
[E -Mail geschützt] ~ $ VI -Skript.Protokoll
Probenausgabe
^[[0M^[[255d^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[00m Datum^M mise 16. September 14:59:36 IST 2015^M^[[01; [[01; [[01; E -Mail geschützt]^[[01; 34m ~ $^[[00m pwd^m /home /tecmint^m^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[00m whre^h^[00m) [[01; [K^H^[[Kereis script^m script:/usr/bin/script/usr/bin/x11/script/usr/sharle/Man/Man1/script.1.gz^m^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[00M Whatis script^m Skript (1) - Machen Sie die terminale Sitzung^m^[[01; [E -Mail geschützt]^ [[01; 34m ~ $^[00m vi s^H^[[K^H^[[K^H^[K^H^[[Kexit^M exit^m)
Verwenden Sie die Ergebnisse eines anderen Befehls als einer interaktiven Shell -Sitzung, um die Ergebnisse eines einzelnen Befehls als einer interaktiven Shell -Sitzung zu protokollieren -C Möglichkeit.
[E -Mail geschützt] ~ $ Skript -c 'Hostname' Skript.Protokoll Skript gestartet, Datei ist Skript.Log Tecmint.COM -Skript erledigt, Datei ist Skript.Protokoll
Wenn Sie möchten, dass das Skript in einem ruhigen Modus ausgeführt wird, können Sie die verwenden -Q Möglichkeit. Sie werden keine Nachricht sehen, die zeigt, dass das Skript beginnt oder beendet.
[E -Mail geschützt] ~ $ Skript -c 'Who' -q Skript.Protokoll Tecmint Tty8 2015-09-16 10:45 (: 0) Tecmint PTS/5 2015-09-16 13:42 (: 0)
So setzen Sie die Timing -Informationen auf Standardfehler oder eine Datei verwenden Sie die -zeitliche Koordinierung Möglichkeit. Die Timing-Informationen sind nützlich, wenn Sie die in der log_file gespeicherte Ausgabe erneut displayieren möchten.
Lassen Sie uns das Skript starten und die folgenden Befehle ausführen w, Betriebszeit Und Cal aufgenommen werden.
[E -Mail geschützt] ~ $ Skript -Timing = Zeit.TXT -Skript.Protokoll Skript gestartet, Datei ist Skript.Protokoll [E -Mail geschützt] ~ $ w 15:09:31 bis 4:26, 2 Benutzer, Lastdurchschnitt: 1.38, 1.39, 1.47 Benutzer tty von [E -Mail geschützt] Idle JCPU PCPU Was tecmint tty8: 0 10:45 4: 26m 8:15 0.38S X-Session-Manager Tecmint PTS/5: 0 13:42 3.00SS 0.09s 0.00S -Skript -Timing = Zeit.TXT -Skript.Protokoll [E -Mail geschützt] ~ $ Betriebszeit 15:09:36 bis 4:26, 2 Benutzer, Lastdurchschnitt: 1.43, 1.40, 1.48 [E -Mail geschützt] ~ $ Cal September 2015 Su mo tu we th fr sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30
Sie können die anzeigen Skript.Protokoll Und Zeit.txt Datei für den obigen Timing -Befehl.
[E -Mail geschützt] ~ $ VI -Skript.Protokoll
Probenausgabe
^[[0M^[[255d^[[01; [E -Mail)^[[01; 34m ~ $^[[00m W^M 15:12:05) 4:28, 2 Benutzer, Lastdurchschnitt: 1.31, 1.37, 1.45^m Benutzer tty von [E -Mail geschützt] Idle JCPU PCPU Was^M tecmint tty8: 0 10:45 4: 28m 8:20 0 0.38S X-Session-Manager^M tecmint pts/5: 0 13:42 5.00SS 0.09s 0.00S -Skript -Timing = Zeit.TXT -Skript.log^m^[[01; [E -Mail geschützt]^[[01; 34m ~ $^[[00M UTTERTIME.29, 1.36, 1.45 ^m ^[[01; [E -Mail geschützt] ^[[01; 34m ~ $ ^[[00m Cal ^M September 2015 ^M su mo tu th fr sa ^m 1 2 3 4 5 ^m 6 7 8) 9 10 11 12 ^M 13 14 15 ^[[7M16 ^[[27M 17 18 19 ^M 20 21 22 23 24 25 27 ^M 27 28 29 30 ^M ^M
Jetzt anzeigen Zeit.txt Datei.
[E -Mail geschützt] ~ $ vi Zeit.txt
Probenausgabe
0.259669 306 0.037680 829 0.000006 2 0.000002 100 0.000002 2 0.000002 102 0.000019 202 0.000004 2 0.000002 102 0.000015 100 0.000002 2 0.000003 2 0.000002 99 0.000011 2 0.000003 82…
Der Zeit.txt Die Datei verfügt über zwei Spalten, die erste Spalte zeigt, wie viel Zeit seit der letzten Anzeige verstrichen ist und die zweite Spalte die Anzahl der Zeichen, die diesmal angezeigt wurden.
Verwenden Sie die Mannseite und -Hilfe Um nach mehr Optionen zu suchen und bei der Verwendung des Befehlszeilendienstprogramms des Skripts zu helfen.
Mithilfe von ScripTreplay zum Wiederholen von Skripten mithilfe von Zeitinformationen
Der ScripTreplay Der Befehl hilft bei der Wiederholung von Informationen in Ihrem Logdatei aufgenommen von der Skript Befehl.
Die Zeitinformationen werden durch die definiert -Timing = Datei Option mit dem verwendeten Skript Befehl und Datei In diesem Fall ist Datei.txt Das wurde mit dem Befehl script verwendet .
Denken Sie daran, dass Sie die angeben müssen Logdatei Sie haben mit dem Skriptbefehl verwendet.
Lassen Sie uns nun die letzten drei Befehle wiederholen w, Betriebszeit Und Cal dass wir wie folgt gelaufen waren.
[E -Mail geschützt] ~ $ scripTreplay -Timing = Zeit.TXT -Skript.ProtokollReplay Last ausgeführte Befehle unter Linux
Wenn das Logdatei Mit den Timing -Informationen wiederholt, werden die aufgezeichneten Befehle ausgeführt und ihre Ausgabe wird gleichzeitig angezeigt, als die ursprüngliche Ausgabe während der Aufzeichnung angezeigt wurde.
Zusammenfassung
Diese beiden Befehle, Skript Und ScripTreplay Einfach zu bedienen und zu helfen, wenn Sie mehrmals dieselbe Befehle ausführen müssen. Sie helfen viel bei der Verwaltung von Servern, die nur Befehlszeilenschnittstellen für die Interaktion mit Ihrem System haben. Ich hoffe, dieser Leitfaden war nützlich und wenn Sie während der Verwendung etwas hinzufügen oder sich einer Herausforderung stellen müssen, zögern Sie nicht, einen Kommentar zu veröffentlichen.
- « So testen Sie lokale Websites oder Apps im Internet mit NGROK
- So finden Sie einen bestimmten Zeichenfolge oder ein bestimmtes Wort in Dateien und Verzeichnissen »