So zeichnen Sie Linux-Terminalbefehle auf mit “Skript”

Inhalt

Abbildung mit einem Linux-Terminalbildschirm

das script Befehl ermöglicht es Ihnen, die Aktivität auf Ihrem Terminal aufzuzeichnen und wiederzugeben. Dies ist nützlich, wenn Sie eine Referenz der von Ihnen ausgeführten Schritte erstellen möchten oder ein Tutorial erstellen möchten, dem andere folgen können..

script generiert getippten Text aller Befehle, die Sie ausgeführt haben. Es funktioniert, indem es Sie in eine Sub-Shell einfügt, die alles aufzeichnet, was Sie ausführen. Ihre Sitzung wird als Klartext gespeichert, wenn Sie die Shell verlassen. Das macht script zuverlässiger als umgeleitete Eingabeströme.

Grundlegende Verwendung

das script Der Befehl kann ohne Argumente ausgeführt werden:

Skript

Eine neue Aufnahmesitzung beginnt. Ihre Terminalsitzung wird gespeichert in ./typescript in deinem Arbeitsverzeichnis. Sie können eine andere Datei angeben, indem Sie script ein Argument:

Skript example_session

Verwenden Sie Ihre Shell, um das Skript auszuführen, das Sie aufzeichnen möchten. Wenn du fertig bist, Drücken Sie Ctrl+D oder schreiben exit um die Unterschale zu verlassen. Sie kehren zu Ihrer Haupt-Shell-Sitzung zurück.

Sie können jetzt das erstellte Sitzungsprotokoll einsehen:

Katze example_session

Sie sehen die Ausgabe Ihres script Sitzung mit Anmerkungen in Klammern durchsetzt. Diese Anmerkungen werden verwendet von script um Details über das Terminal selbst und die darin stattfindenden Ereignisse aufzuzeichnen.

Da die Protokolldateien Klartext sind, Sie können sie in Ihrem bevorzugten Editor frei bearbeiten. Schneide einfach die Linien ab, die du nicht behalten möchtest oder die andere nicht sehen sollten.

Dies ist nützlich, wenn Ihre Sitzung versehentlich potenziell vertrauliche Informationen generiert oder wenn Sie seltsame Zeichen aus der Registrierung löschen möchten.. script zeichnet alles auf, was in Ihrem Terminal passiert, einschließlich Rücktaste Tastenanschläge, neue Zeilen und Steuerzeichen, einige davon sind im endgültigen Typoskript möglicherweise nicht erforderlich.

script gibt den Namen der Datei, in die Sie schreiben, zu Beginn und am Ende Ihrer Sitzung aus. Sie können diese Ausgabe deaktivieren, indem Sie die -q Flag, um den lautlosen Modus zu aktivieren.

das SHELL Die Umgebungsvariable wird gelesen, wenn die Shell bestimmt wird, die für die interne Prozedur zu verzweigen ist. Wenn die Variable nicht gesetzt ist, script standardmäßig auf sh.

Zu einer bestehenden Datei hinzufügen

Es ist möglich, einem vorhandenen Typoskript neue Befehle hinzuzufügen. Dies ermöglicht Ihnen “Pause” und “fortsetzen” Aufzeichnen durch Beenden der Sub-Shell und Starten einer neuen Sitzung.

Ergänzen Sie die -a Flag, um Ihre Befehle zur angegebenen Datei hinzuzufügen. script überschreibt den Dateiinhalt, wenn das Flag nicht bereitgestellt wird.

script -eine example_session

Zeitdaten hinzufügen

Einfaches Typoskript ist ideal, wenn Sie einfach nur Ihre Schritte aufzeichnen möchten, um sie später zu lesen oder zu teilen. script Sie können auch Zeitdaten zusammen mit Ihrem Textprotokoll speichern. Diese Informationen können verwendet werden, um Ihre gesamte Terminalsitzung mit entsprechenden Verzögerungen zwischen den Befehlen abzuspielen.

Laufen script mit dem -t Aktivieren Sie das Kontrollkästchen, um einen Pfad zum Schreiben von Zeiten anzugeben. Zeitdateien haben ein zweispaltiges Format. Jeder Eintrag enthält die verstrichene Zeit seit dem letzten Datensatz in der ersten Spalte. Die zweite Spalte zeichnet die Anzahl der eingegebenen Zeichen auf, ermöglicht Wiederholungen mit präziser Schreibgeschwindigkeit.

script -q -t example_session_timings example_session

Spielsitzungen

das scriptreplay Befehl liest Typoskript- und Zeitdateien, die von . erstellt wurden script. Spielen Sie Ihre Ausgabe auf Ihrem Terminal ab. Die Zeitdaten werden verwendet, um die Länge jedes eingegebenen Zeichens mit seiner Länge in seinem ursprünglichen Skript abzugleichen.

scriptreplay -t example_session_timings example_session

Einige Skripte können unerwünschte Verzögerungen enthalten oder mit einer unangenehm langsamen Geschwindigkeit ausgeführt werden. Verwenden Sie die -d Flagge, um den Start zu beschleunigen. Alle aufgezeichneten Zeiten werden durch die Nummer dividiert, die vergeht.

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

Sie können auch die -m -Flag, um die maximale Verzögerung zwischen einzelnen Updates zu begrenzen. Auf diese Weise können Sie die längste zulässige Pause in Sekunden vor scriptreplay Sie wechseln zum nächsten Befehl, Auch wenn der eingegebene Text eine längere Verzögerung angibt.

# Maximale Verzögerung von 2 seconds
scriptreplay -m 2 -t timings typescript

Verwendung mit interaktiven Befehlen

Nicht empfohlen zu verwenden script mit hochgradig interaktiven Befehlen. Terminal-Texteditoren sind wahrscheinlich, Curse-basierte Apps und Dialogmeldungen fügen umweltschädliche Junk-Zeichen in Ihren eingegebenen Text ein. script konzentriert sich auf die Erfassung typischer textbasierter Ausgaben, nicht in Befehlen, die Ihr Terminal manipulieren, um eine grafische Benutzeroberfläche zu erzeugen.

script nicht für die Verwendung mit nicht-interaktiven Schalen geeignet, da ihre innere Schale immer interaktiv ist. Der Befehl es sollte nicht sein Funktioniert voraussichtlich mit Piped-Input.

Andere Optionen

das -c Flagge a script ermöglicht Ihnen, einen Befehl anzugeben. Bei Verwendung dieses Modus, script Führen Sie den Befehl aus und erfassen Sie seine Ausgabe, anstatt eine neue interaktive Shell zu forken. Dies kann beim Erfassen der Ausgabe einiger Prozesse effektiver sein, die sich anders verhalten, wenn sie nicht direkt mit einem TTY verbunden sind..

das -f Flagge weist an script um nach jedem Ereignis direkt in das Sitzungsprotokoll zu schreiben. Dies verbessert die Sicherheit, indem sichergestellt wird, dass die Ausgabe sofort erfasst wird.

das script Handbuchseite schlägt vor Dieses Flag könnte auch verwendet werden, um das Terminal eines Benutzers in Echtzeit zu überwachen, wie in einem Lehrer- und Schülerszenario. Der Schüler würde laufen script -f, später würde der Master SSH verwenden, um sich zu verbinden und das Typoskript live zu streamen.

script akzeptiert normalerweise keinen symbolischen Link als eingegebenen Pfad. das --force Flag aktiviert dieses Verhalten, anweisend script Hard- und Softlinks zu ihrem Ziel zu lösen.

Zusammenfassung

script ermöglicht es Ihnen, Ihre Terminalsitzungen in Klartextdateien mit genauen Zeitdaten aufzuzeichnen. Kann inspizieren, teilen und drucken Sie die manuell eingegebenen Skripte oder reproduzieren Sie sie auf Ihrem Terminal mit scriptreplay.

Befehle sind in den gängigsten Linux-Distributionen enthalten. Sie funktionieren mit allen Arten von Terminals, aber einzelne Skripte werden möglicherweise auf einem anderen Terminal als dem für die Aufnahme verwendeten nicht korrekt wiedergegeben. Für beste Ergebnisse, Lauf scriptreplay im gleichen Terminaltyp, den Sie verwendet haben script.

Abonniere unseren Newsletter

Wir senden Ihnen keine SPAM-Mail. Wir hassen es genauso wie du.