Wie kann ich eine zu lange Ausgabe vollständig im Terminal abrufen und kopieren?

8

Im Terminal hat ein Befehl eine zu lange Ausgabe. Aber wenn ich zurück scrolle, sehe ich, dass es abgeschnitten ist und nur der letzte Teil angezeigt wird. In Gnome-Terminal und Konsole habe ich dieses Problem. In xterm gibt es kein solches Problem, aber ich kann die Ausgabe in xterm nicht kopieren.

Wie kann ich die vollständige Ausgabe erhalten?

Nano - verschmelze mich
quelle

Antworten:

5

Ich weiß, dass es im xfce4-Terminal eine Option gibt, um die Anzahl der angezeigten Zeilen zu erhöhen:

Geben Sie hier die Bildbeschreibung ein

Für Ubuntu Terminal Geben Sie hier die Bildbeschreibung ein

Abgesehen davon gibt es das, was @ Zelda64fan gesagt hat.

GM-Script-Writer-62850
quelle
+1 Pipe und teesind nicht optimal, da sie in einigen Fällen nicht funktionieren, z. B. inHROOT 3NVIORTNM3NT
22lk94k943 nur am
9

Sie können die Ausgabe an eine Datei senden: command > file.txt(Wo commandbefindet sich der Befehl, den Sie ausführen möchten, und file.txtdie Datei, in der Sie sie speichern möchten) und dann mit anzeigen gedit file.txt.

Zelda64fan
quelle
8

Verwenden Sie xclip

cat long.output | xclip -sel clip

Wenn nicht installiert, können Sie tun

sudo apt-get install xclip
Raspeitie
quelle
Dieser ist mein persönlicher Favorit für GUI-Terminals. Mit TTY wird es leider nicht funktionieren, nur die Umleitung zu einer Datei wird dort helfen
Sergiy Kolodyazhnyy
5

Wenn Sie nicht die gesamte Ausgabe benötigen, können Sie sie durch weniger leiten : command | less. Dies würde auch die Mühe ersparen, die Datei löschen zu müssen, sobald Sie die Ausgabe überprüft haben.

Lotsoffreetime
quelle
lessDie Ausgabe ist ziemlich schwer zu kopieren.
Sparhawk
2

In xterm sollte die automatische Kopierung bei Auswahl die Standardeinstellung sein. Versuchen Sie es mit einem Dreifachklick und fügen Sie es dann mit einer mittleren Maustaste (oder einer emulierten dritten Taste) ein.

Das gleiche sollte mit anderen Terminals funktionieren, aber Sie müssen manuell kopieren und einfügen.

Es gibt viele, viele Möglichkeiten, dies zu tun. Ich benutze es scriptin einigen Fällen gerne . Geben Sie 'script' über eine Befehlszeile ein, um es zu starten, bevor Sie einen Befehl über die Befehlszeile starten, und drücken Sie dann Strg-D, um ihn zu stoppen. Wenn Sie keinen Erfassungsdateinamen angeben, ist "Typoskript" die Standardeinstellung. Alles, was auf dem Bildschirm gedruckt wird, sollte in der Datei erfasst werden.

belacqua
quelle
2

Speichern Sie die Konsolenausgabe in einer Datei:

  1. tee Befehl

Tee- Befehl - Aus Standardeingabe lesen und in Standardausgabe und -dateien schreiben.

Es erstellt automatisch eine Datei und speichert die gesamte Ausgabe von cmd ps -axin einer Datei mit dem Namen processes_infoim selben Ordner, in dem das cmd ausgeführt wurde.

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

Skriptbefehl - Typoskript der Terminalsitzung erstellen.

user@admin:~$ script my_console_output.txt

Dadurch wird eine Datei mit dem Namen erstellt my_console_output.txtund eine Unterschale geöffnet, in der alle Informationen während dieser Sitzung aufgezeichnet werden. Danach wird das Skript gestartet und unabhängig von der Konsolenausgabe wird es in der Datei gespeichert my_console_output.txt. es sei denn und bis das Skript endet, wenn die gegabelte Shell beendet wird. (zB wenn der Benutzer tippt exitoder wenn er CTRLDtippt.)

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;
  • Beenden Sie das Skript.

    Anderes Beispiel:

    script -c 'echo "Hello, World!"' hello.txt
    
akD
quelle
script -c "rails runner -e development lib/scripts/my_script.rb" report.txthat mir geholfen, die sehr, sehr lange Ausgabe eines Rails-Runner-Skripts einfach in eine Datei zu erfassen. Ich habe versucht, die Umleitung zu einer Datei zu verwenden, aber sie wurde erst am Ende des Skripts geschrieben. Das hat mir nicht geholfen, da ich nur wenige interaktive Befehle in meinem Skript hatte. Dann habe ich nur scriptmeine verwendet und dann die rails runnerIn-Script-Sitzung ausgeführt, aber es wurde nicht alles geschrieben. Dann fand ich dies script -c "runner command here" output_fileund es speicherte die gesamte Ausgabe wie gewünscht. Dies war auf Ubuntu 14.04 LTS
Jignesh Gohel