GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Terminal Strg+s versus Strg+z?

Ich habe zum Beispiel einen lang andauernden und ausführlichen tar cvf /backup/backup.tar Befehl, der viel Text auf dem Bildschirm ausgibt*. Ich möchte nicht unbedingt immer die gesamte Ausgabe sehen. Ich möchte die Textausgabe stoppen, andere Dinge erledigen, dann darauf zurückkommen und „fortfahren“, um zu sehen, wie weit der Backup-Prozess fortgeschritten ist. Ich habe erwartet, dass es sich wie

verhält
/files/big_file_1
/files/big_file_2
/files/big_file_3
# Ctrl+s
# Do other stuff
# Ctrl+q , notice big jump in progress
/home/user/.bash_history
/home/user/small_file_1
/home/user/small_file_2
/home/user/small_file_3
...

Strg+s stoppt die Ausgabe auf dem Bildschirm (und Strg+q nimmt die Ausgabe auf dem Bildschirm wieder auf), während Strg+z den Vorgang unterbricht und ich zurück zu einer PS1-Eingabeaufforderung komme. Meine Frage ist, hält Strg+s den Befehl am Laufen?

Während des oben erwähnten tar Befehl würde ich die letzte Datei markieren, TARred, ein paar Minuten stehen lassen, Strg+q, und die nächsten Dateien schienen im selben Verzeichnis zu sein, oder zumindest in einem relativ nahen Verzeichnis.

*Ich verwende Putty unter Windows, also entschuldige ich mich, wenn das Verhalten zwischen diesem und einem Standard-Terminal unter Linux/Unix unterschiedlich ist.

Akzeptierte Antwort:

Meine Frage ist, hält Strg+s den Befehl am Laufen?

Ja, bis zu dem Punkt, an dem sich die Systempuffer füllen und der Prozess zu blockieren beginnt, um auf das Terminal schreiben zu können. Es läuft also nicht auf Dauer. Außerdem können Sie nichts anderes im selben Terminal ausführen, da die Ausgabe blockiert ist.

Um das Programm zu verlassen und trotzdem zurückzukommen, haben Sie folgende Möglichkeiten:

  • Führen Sie ein anderes Terminal auf der Seite aus (ein anderes Putty, eine andere SSH-Verbindung)
  • Führen Sie screen aus oder tmux um mehrere „Fenster“ innerhalb desselben Terminals zu multiplexen
  • Leiten Sie die Ausgabe in eine Datei um, führen Sie den Befehl im Hintergrund aus und sehen Sie sich dann die Datei an, wenn Sie möchten:tar cvf ... > /tmp/tar.out & und tail /tmp/tar.out

Linux
  1. Befehl im aktiven Remote-Terminal ausführen?

  2. Wie verstecke ich die Terminalausgabe beim Ausführen eines Befehls?

  3. | Im Terminalkommando?

  4. Beispiele für Linux-Zeitbefehle

  5. Anzeigen der vollständigen Ausgabe des PS-Befehls

Ccat – Cat-Befehlsausgabe einfärben

Text auf der Terminalausgabe suchen?

Beispiele für Linux-Echo-Befehle

Verlaufsbefehl in Linux – Zeigen Sie den Verlauf des Linux-Terminals an

Speichern Sie die Ausgabe eines Befehls vom Debian-Terminal in einer Datei

Cut auf Linux Terminal verwenden