Gibt es eine Möglichkeit, die gesamte Terminalausgabe mit einem Befehl in einer Datei zu speichern?
- Ich spreche nicht von Umleitung
command > file.txt
- Nicht die Geschichte
history > file.txt
, ich brauche den vollständigen Terminal-Text - Nicht mit Hotkeys!
So etwas wie terminal_text > file.txt
xdotool
dieser Art von schwarzer Kunst).Antworten:
Sie können verwenden
script
. Grundsätzlich wird alles gespeichert, was in dieserscript
Sitzung auf dem Terminal gedruckt wurde .Von
man script
:Sie können eine
script
Sitzung starten , indem Sie einfachscript
das Terminal eingeben . Alle nachfolgenden Befehle und ihre Ausgaben werden in einer Datei gespeichert, dietypescript
im aktuellen Verzeichnis benannt ist. Sie können das Ergebnis auch in einer anderen Datei speichern, indem Siescript
wie folgt beginnen :Geben Sie
screen
einfach Folgendes ein, um sich von der Sitzung abzumelden (Speichern des Inhalts beenden)exit
.Hier ist ein Beispiel:
Wenn ich jetzt die Datei lese:
script
Es gibt auch viele Optionen, z. B. "Leise ausführen"-q
(--quiet
), ohne Programmnachrichten anzuzeigen / zu speichern. Es kann auch einen bestimmten Befehl-c
(--command
) anstelle einer Sitzung ausführen. Es gibt auch viele andere Optionen. Überprüfen Sieman script
, um mehr Ideen zu erhalten.quelle
Auch ich hatte das gleiche Problem und fand nach einiger Suche diese Lösung:
Fügen Sie zu Ihren .bash_aliases Folgendes hinzu:
Fügen Sie am Ende Ihrer .bashrc-Datei Folgendes hinzu:
Danach wird der Befehl "script" einmal in jeder Terminalsitzung ausgeführt und alles in "~ / Terminal_typescripts / raw" protokolliert. Wenn Sie möchten, können Sie aktuelles Sitzungsprotokoll speichern nach der Tat (am Ende der Sitzung) , indem Sie ‚savelog‘ oder ‚savelog logname‘ - der aktuellen Raw - Log kopiert zu ‚~ / Terminal_typescripts / manual‘ und auch lesbar erstellen TXT-Protokoll in diesem Ordner. (Wenn Sie dies vergessen, befinden sich die unformatierten Protokolldateien weiterhin in ihrem Ordner. Sie müssen sie nur suchen.) Sie können auch mit der Aufzeichnung in einer neuen Protokolldatei beginnen, indem Sie 'startnewlog' eingeben.
Es wird eine Menge Junk-Log-Dateien geben, aber Sie können von Zeit zu Zeit alte bereinigen, so dass dies kein großes Problem darstellt.
(Basierend auf https://answers.launchpad.net/ubuntu/+source/gnome-terminal/+question/7131 , https://askubuntu.com/a/493326/473790 )
quelle