Я не уверен, правильно ли я формулирую вопрос, но предположим, что у меня открыто два виртуальных терминала, и если я наберу текст ls
в одном из них, то получу содержимое каталога вобаиз них (второй не обязательно должен быть доступным для записи, он должен только отображать stdout первого). Как бы мне этого добиться?
решение1
Как уже упоминал geekosaur, screen
он сделает то, что вам нужно (и даже больше).
Сначала для удобства создайте именованный сеанс экрана в своем первом терминале:
$ screen -S foo
Во-вторых, подключитесь к сеансу экрана во втором терминале:
$ screen -x foo
решение2
script
Для этого можно использовать .
Например, если вы хотите скопировать все ваши выходные данные, /dev/tty1
вы должны выполнить:
script -f /dev/tty1
С этого момента все, что вы вводите, и весь вывод команд будут дублироваться в /dev/tty1
.
script
запускает другую оболочку, поэтому, когда вы закончите, вы можете просто ввести exit
для завершения script
.
Это -f
делается для того, чтобы сделать его в реальном времени. В противном случае /dev/tty1
вывод будет виден только тогда, когда отображается полная строка (когда символ новой строки записывается в tty).
решение3
Зависит от того, что именно вы ищете. Простое решение script(1)
: GNU screen
в режиме multiattach — более затейливое решение.