如何将一个终端的标准输出镜像到另一个终端?

如何将一个终端的标准输出镜像到另一个终端?

我不确定我是否正确地表达了这个问题,但是假设我打开了两个虚拟终端,如果我输入ls其中一个,我会得到目录的内容两个都其中(第二个不一定是可写的,它只需要显示第一个的标准输出)。我将如何实现这一目标?

答案1

正如 geekosaur 提到的,screen它将满足您的需求(以及更多)。

首先,为了方便起见,在第一个终端中创建一个命名屏幕会话:

$ screen -S foo

其次,附加到第二个终端中的屏幕会话:

$ screen -x foo

答案2

您可以用来script执行此操作。

例如,如果您想将所有输出复制到/dev/tty1您将运行

script -f /dev/tty1

从那时起,您键入的任何内容以及所有命令输出都将在 上重复/dev/tty1
script启动另一个 shell,因此完成后,您只需键入exitend即可script

-f是为了使其实时。否则,/dev/tty1仅当显示完整行时(当将换行符写入 tty 时)才会看到输出。

答案3

取决于您正在寻找什么。一个简单的解决方案是script(1);多连接模式下的GNUscreen是一个更高级的解决方案。

相关内容