Ich bin nicht sicher, ob ich die Frage richtig formuliere, aber nehmen wir an, ich habe zwei virtuelle Terminals geöffnet, und wenn ich ls
in eines davon tippe, erhalte ich den Inhalt des Verzeichnisses inbeidedavon (das zweite muss nicht beschreibbar sein, es muss nur die Standardausgabe des ersten anzeigen). Wie kann ich das erreichen?
Antwort1
Wie Geekosaur erwähnt hat, screen
wird es tun, was Sie brauchen (und noch viel, viel mehr).
Erstellen Sie zunächst der Einfachheit halber eine benannte Bildschirmsitzung in Ihrem ersten Terminal:
$ screen -S foo
Zweitens: Fügen Sie die Bildschirmsitzung in Ihrem zweiten Terminal hinzu:
$ screen -x foo
Antwort2
Sie können script
hierfür verwenden.
Wenn Sie beispielsweise Ihre gesamte Ausgabe kopieren möchten, /dev/tty1
führen Sie Folgendes aus:
script -f /dev/tty1
Von da an wird alles, was Sie eingeben, und die gesamte Befehlsausgabe dupliziert /dev/tty1
.
script
startet eine weitere Shell, sodass Sie, wenn Sie fertig sind, einfach „ exit
to end“ eingeben können script
.
Dies -f
soll die Ausgabe in Echtzeit ermöglichen. Andernfalls /dev/tty1
wird die Ausgabe nur angezeigt, wenn eine vollständige Zeile angezeigt wird (wenn ein Newline-Zeichen in das TTY geschrieben wird).
Antwort3
Hängt davon ab, wonach Sie genau suchen. Eine einfache Lösung ist script(1)
; GNU screen
im Multiattach-Modus ist eine elegantere Lösung.