Wie kopiere ich die Terminalausgabe?

Ich habe Befehle im Terminal ausgeführt und im Terminal werden Ausgaben angezeigt. Ich möchte den gesamten angezeigten Bildschirm auswählen. Wie kann man das erreichen ?

Author: Andy Frédéric ANDRIANIAINA, 2011-11-14

4 answers

Es gibt 2 Optionen,

  1. Entweder können Sie den ausgewählten Text mit Ctrl + Shift + C und Ctrl + Shift + V kopieren und einfügen, in denen Sie wissen, welche Dinge kopiert werden sollen, ODER

  2. Leiten Sie den Text mithilfe der Umleitung in eine Datei um

    Program1 >Ausgabedatei.txt 2>Fehlerdatei.txt

    Hier gehen alle stdout zu outputfile.txt, während alle stderr zu errorfile gehen.txt.

P. S. aus den Kommentaren unten,

  1. Wählen Sie den Text aus eingefügt, und verwenden Sie die mittlere Maustaste (Scrollrad-Taste), um es an der gewünschten Stelle einzufügen.
 9
Author: Vineet Menon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Konsolenausgabe in einer Datei speichern:

  1. tee Befehl

Tee Befehl - Lesen von der Standardeingabe und schreibt auf die Standardausgabe und Dateien.

Es erstellt automatisch eine Datei und speichert die gesamte Ausgabe von cmd ps -ax in einer Datei mit dem Namen processes_info im selben Ordner, von dem aus die cmd ausgeführt wurde.

user@admin:~$ ps -ax | tee processes_info
  1. script Befehl

Script Befehl-Typescript des Terminals erstellen Sitzung.

user@admin:~$ script my_console_output.txt

Dies erstellt eine Datei mit dem Namen my_console_output.txt und öffnet eine Subshell und zeichnet alle Informationen über diese Sitzung auf. Danach wird das Skript gestartet und unabhängig von der Konsolenausgabe in der Datei my_console_output.txt gespeichert.es sei denn und bis das Skript endet, wenn die gegabelte Shell beendet wird. (z. B. wenn der Benutzer exit eingibt oder wenn STRGD wird eingegeben.)

user@admin:~$ script -c "ps ax" processes_info.txt
  • Es startet das Skript;

  • Erstellt die Datei processes_info.txt;

  • Speichert die Konsolenausgabe in der Datei;

  • Ende (Schließen) des Skripts.

    Anderes Beispiel:

     script -c 'echo "Hello, World!"' hello.txt
    
 6
Author: akD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-06-12 13:48:39

Im Gegensatz zu den oben vorgeschlagenen Lösungen geraten Sie möglicherweise in eine Situation, in der die Ausgabe bereits gedruckt wurde und Sie nicht schlau genug waren, vorher zu wissen, dass Sie sie aufnehmen möchten irgendwie.

In diesem Fall können Sie zumindest den Text, der derzeit in Ihrer TTY zu sehen ist, mithilfe des Backlogs über /dev/vcs# in einer Datei speichern. Wenn Sie beispielsweise /dev/tty1, ist der Backlog dieses Terminals in /dev/vcs1 verfügbar, also zum Beispiel:

# cat /dev/vcs1 > tty1.log

Credits sind reserviert für Die Arch Wiki: https://wiki.archlinux.org/index.php/Copying_text_from_a_terminal#Accessing_Linux_terminal_backlog

 1
Author: Doron Behar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2019-07-29 22:27:37

Für windows-Benutzer

Ich weiß, dass dies für die Frage nicht relevant ist, aber alle Informationen unter derselben Frage zu haben, hilft, anstatt einen Betrüger zu erstellen

Szenario

  • Sie haben nicht darüber nachgedacht und lassen einen Befehl seine Ausgabe anzeigen, anstatt ihn in einer Datei zu speichern
  • Meine spezielle Lösung ist für cmd.exe unter Windows, könnte auch für Poweshell funktionieren (nicht getestet)

1. Kleine Menge text

Option 1: verwenden Sie Ihre Maus

  1. klicken und ziehen Sie mit der Maus über den Text, den Sie kopieren möchten Siehe Beispiel Screenshot hier
  2. klicken Sie auf enter (return key)

Jetzt ist der Text in der Zwischenablage

Option 2: Verwenden Sie das Menü "Mark"

  1. Klicken Sie mit der rechten Maustaste auf die Titelleiste, navigieren Sie nach unten und wählen Sie Markieren. Siehe Abbildung unten Menüeintrag Markieren auswählen
  2. klicken und ziehen Sie mit der Maus über den Text, den Sie kopieren möchten Siehe Beispiel Screenshot hier
  3. klicken Sie auf enter (return key)

Jetzt die text ist in der Zwischenablage

2. Große Menge an Text

  • Angenommen, Sie haben eine Menge Terminalausgabe, die Sie kopieren möchten
  • Dies ist auf Ihre Terminalpuffergröße beschränkt, daher sollten Sie entweder in den Standardeinstellungen oder in den Eigenschaften des cmd-Fensters einen großen Terminalpuffer ausgewählt haben (siehe obigen Screenshot für diesen Menüpunkt), andernfalls geht dieser Text verloren (nicht sicher, ob Windows die cmd-Ausgabe irgendwo speichert).
  • Dies ist der wichtigste "Trick", den ich hier notieren wollte. Ursache, obwohl ich betrachte mich als Power-User, ich wusste das nicht.

Hier sind die Schritte

  1. Rechtsklick auf die Titelleiste und nagivate und klicken Sie auf Alle auswählen Klicken Sie auf alle Menüpunkte auswählen
  2. klicken Sie auf enter (return key)

Jetzt der gesamte Text befindet sich in Ihrer Zwischenablage

 0
Author: Dheeraj Bhaskar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-07-24 14:27:53