
ich benutzeBildschirmfür meine Befehlszeilenaufgaben bei der Verwaltung der Server, auf denen ich arbeite. Normalerweise führe ich kleine Befehle aus (meistens Dateisystemaufgaben), manchmal aber auch umfangreichere Aufgaben (wie DBA).
DerAusgabediese Aufgaben sind mir wichtig. Da ich für meine Aufgaben Ubuntu und OS X (beide Terminal Windows) verwende, aber den Bildschirm verwenden muss, ist das Scrollen nicht verfügbar, sodass jede lange Ausgabe (denken Sie an eine 500-Zeilen-Tabelle aus einer Auswahl) für mich unsichtbar ist. Das Mausrad kommt nicht in Frage.
Wenn ich sage „Scrollen ist für mich unsichtbar“, meine ich Folgendes:
Ich habe über zwei Möglichkeiten nachgedacht:
Pause (denkenpaginieren) die Ausgabe eines bestimmten Befehls. Wenn die Ausgabe beginnt, kann ich lesen, was passiert, dann drücke ich "Enter", dann wird die Ausgabe fortgesetzt, bis nichts mehr anzuzeigen ist.
Im Bildschirm scrollen. Aber ich weiß nicht, ob das möglich ist.
Natürlich weiß ich nicht, ob diese Optionen tatsächlichmöglich. Wenn ja, wie können sie erreicht werden? Andere Alternativen werden gut angenommen.
Antwort1
Screen hat einen eigenen Scroll-Puffer, da es sich um einen Terminal-Multiplexer handelt undmehrerePuffer.
Vielleicht gibt es einen besseren Weg, aber ich bin es gewohnt, im „Kopiermodus“ zu scrollen (mit dem Sie Text über den Bildschirm selbst kopieren können, obwohl dafür auch der Einfügebefehl erforderlich ist):
Geben Sie Ihre Bildschirmpräfixkombination ein ( standardmäßig
C-a
/ control+ ) und dann oder .AEscape[Bewegen Sie sich mit den Pfeiltasten ( ↑und ↓) nach oben und unten.
Wenn Sie fertig sind, drücken Sie eine beliebige Taste außer den Pfeiltasten, Zahlen und bestimmten Buchstaben, um zum Ende des Scroll-Puffers zurückzukehren. Die meisten Leute verwenden qoderEscape
(Wenn Sie statt zu beenden Enteroder drücken Spaceund dann den Cursor bewegen, beginnen Sie mit der Auswahl des zu kopierenden Textes und durch ein zweites Drücken von Enteroder wird dieser kopiert. Anschließend können Sie mit und anschließend einfügen .)SpaceC-a]
Natürlich können Sie immer more
und verwenden less
, zwei häufig verwendete Pager, die für einige Befehle ausreichen können.
Antwort2
Verwendung des screen
Puffers wie angegebenvon njsgist eine gute Lösung. Sie können auch den alternativen Textpuffer in den Xterm-Termcap-Informationen im Bildschirm deaktivieren. Wenn dieser deaktiviert ist, können Sie mit den Bildlaufleisten (und dem Mausrad) nach oben und unten scrollen.
Fügen Sie dies zu Ihrem hinzu ~/.screenrc
.
# Enable mouse scrolling and scroll bar history scrolling
termcapinfo xterm* ti@:te@
Weitere Diskussionen können Sie lesenHier.
Antwort3
Alle Antworten betrafen die Navigation innerhalb einer Bildschirmsitzung, aberEs gibt eine integrierte Funktion im Bildschirmbefehl, um alles in einer Datei zu speicherndurch die -L
Argumentation laut Handbuch, die lautet:
-L weist den Bildschirm an, die automatische Ausgabeprotokollierung für Windows einzuschalten.
So können Sie Folgendes tun:
screen -L -S testscreen
screenlog.#
und es wird eine Datei im aktuellen Verzeichnis erstellt, deren Name #
eine Nummer für diesen Bildschirm ist, beginnend bei 0.
Dies hat viele Vorteile und die wichtigsten sind für mich:
- Ich führe Protokoll über meine Aktivitäten, da ich die Protokolldatei zur späteren Bezugnahme im Projektordner speichern kann.
- Sie können den Prozess inaktiv und passiv überwachen:
- Verwenden Sie es
tail -F
, um den Fortschritt in Echtzeit zu überwachen, ohne an den Bildschirm gebunden zu sein. - Verwenden Sie
grep
es, um nach bestimmten Begriffen im Protokoll zu suchen und Benachrichtigungen zu erstellen (E-Mail, Popup, VoIP usw.). Dies kann auf mehreren Bildschirmen angewendet werden, ohne dass Sie sie aktiv ansehen müssen.
- Verwenden Sie es
Antwort4
Ich habe eine einfache Seitennummerierung erfolgreich erreicht more
, indem ich den Inhalt beispielsweise an Folgendes weitergeleitet habe:
ls -l | more
Oder wenn Sie eine Farbausgabe für Anwendungsfälle wie Syntaxhervorhebung wünschen, können Sie verwenden
ls -l --color=always | more
Dies führt zu einer Ausgabe, bei der ich problemlos einen Bildschirm nach dem anderen durchblättern kann. Ich habe @uthers Änderung noch nicht ausprobiert, ~/.screenrc
aber das scheint mir als dauerhafte Lösung vorzuziehen, wenn eine Maus verfügbar ist.
Um dies auszuprobieren, gehen Sie zudieser BusyBox-Emulatorund dann...
cd ~/bin
ls -l --color=always | more
Blättern Sie mit der Leertaste durch die Ergebnisse des ls -l
Befehls oder bewegen Sie sich mit der Eingabetaste zeilenweise durch die Ergebnisse.