Gehen Sie zurück zum letzten Befehl

8

Angenommen, Sie geben einen Befehl in das Terminal ein, nachdemEnter eine Liste mit mehr als einer Seite angezeigt wird. Jetzt möchten Sie das Ergebnis von Anfang an lesen und sollten nach oben scrollen. Wenn Sie also einige Befehle vor Ihren letzten setzen, ist es etwas schwierig, den letzten zu scrollen - zumindest für mich -. Ich brauche also einen Schlüsselschalter, der den Bildschirm des letzten Befehls anzeigt.

ps: Ich möchte den letzten Befehl per Schlüsselschalter auf dem Bildschirm anzeigen. Gibt es einen Schlüsselschalter wie STRG + L, der den Bildschirm löscht? weniger Befehl zeigt den Bildschirm Seite für Seite an.

Mohammad Reza Rezwani
quelle

Antworten:

11

Soweit ich weiß, gibt es keinen. Sie haben jedoch einige Möglichkeiten:

  1. Leiten Sie den Ausgang durch lessodermore

    command | less
    
  2. Drücken upSie die Taste, bis Sie den Befehl gefunden haben, den Sie ausgeführt haben, und führen Sie ihn erneut aus (optional mit lessoder moreerneut).

  3. Führen Sie den vorherigen Befehl lessmithilfe der Verlaufserweiterung aus .

    !! | less
    
  4. Verwenden Sie ein Terminal, das das Durchsuchen des Bildlaufs unterstützt. Das Bild unten zeigt mein bevorzugtes Terminal terminator(installierbar mit sudo apt-get terminator), aber das Standardterminal von Ubuntu unterstützt dies ebenfalls. Drücken Sie einfach Ctrl Shift F, um die Suchleiste anzuzeigen. Wenn Sie dann entweder nach dem Namen des Befehls oder nach Ihrem Benutzernamen suchen (der in Ihrer Eingabeaufforderung angezeigt wird), kehren Sie direkt zum letzten Befehl zurück:

    Geben Sie hier die Bildbeschreibung ein

Terdon
quelle
3

Pipe das Ergebnis durch less,

some-command | less

Von der Manpage ;

Weniger ist ein Programm, das mehr (1) ähnelt, jedoch sowohl eine Rückwärtsbewegung in der Datei als auch eine Vorwärtsbewegung ermöglicht.

Elliott Frisch
quelle
2

Sie möchten also im Grunde, dass automatisch zur letzten Eingabeaufforderung und dem Befehl gescrollt wird, der von ihr ausgeführt wurde? Ich denke nicht, dass dies mit aktuellen Versionen des Terminals möglich ist, es sei denn, Sie verwenden eine Suchfunktion.

Alternativ können Sie die Eingabeaufforderungen jedoch einfärben, damit Sie leichter herausfinden können, wo sie sich befinden: Geben Sie hier die Bildbeschreibung ein

Sie können dies in Ubuntu * tun, indem Sie zur ~/.bashrcDatei gehen und diese Zeile auskommentieren:

#force_color_prompt=yes

zu:

force_color_prompt=yes

Sie können es dann speichern und source ~/.bashrcsofort ausführen und die Änderungen anzeigen.

* In anderen Linux OS, auf Ubuntu - Versionen ohne diese Version von ~/.bashrc, kopieren Sie nur 31 Zeilen auf 78 (nur den es am meisten benötigt wird) von dieser und dann uncomment#force_color_prompt...

Wilf
quelle
1
So mache ich das, damit ich alle langen Terminalausgänge meiner Linux-Maschinen lesen kann, in die ich SSH-fähig bin. Ich denke, es ist auch aus diesem Grund auf Raspbian (A Raspberry Pi OS) aktiviert. Danke :)
Wilf
0

Wenn Sie verwenden gnome-terminal, können Sie einfach den Inhalt des Terminals mit "Bearbeiten-> Alle auswählen" und "Bearbeiten-> Kopieren" in eine Textdatei kopieren.

Hinweis: Dies funktioniert nur, wenn Sie einen unbegrenzten Scrollback festgelegt haben.

Öffnen Sie nun die Textdatei in Ihrem bevorzugten Editor und suchen Sie das vorherige Vorkommen Ihrer Shell-Eingabeaufforderung.

Es ist oft einfacher, Suchvorgänge in einem Texteditor durchzuführen (unter anderem).

Sylvain Pineau
quelle
0

Was ist mit der Verwendung eines neuen Terminals für jeden Befehl? In gnome Terminal Ctrl+ Shift+ TErzeugt ein Terminal in einer neuen Registerkarte im aktuellen Verzeichnis.

ThorSummoner
quelle
0

Wenn Sie Emacs verwenden können, führt der Shell-Modus ein unendliches Protokoll Ihrer Ein- und Ausgabe, durch das Sie hin und her scrollen können. Es verfügt über einen Befehl ctrl-meta-Loder escctrl-L, der normalerweise zum Anfang der Ausgabe zurückspringt, die auf die zuletzt eingegebene Eingabezeile folgt.

Mark Plotnick
quelle