最近,一朋友找我帮忙处理他云主机上的问题,又想看到我的处理过程,当时我的想法是要么远程协助,但是这个需要一定的带宽,怎奈我网络环境不是很好;另一个就是我在我的电脑上录制一个视频或者把操作步骤写出来,这显然成本还是挺大的。我就在想,我们上学那会,老师在他的电脑上演示的操作,我们在下面的电脑就可以看到,Linux上是否有这样的命令(工具)实现呢?
后来找到了一个使用mkfifo和scripts命令结合起来就可以实现我的想法。
操作步骤如下:
首先打开两个终端,假设pts/0(我的登录的终端)和pts/1(朋友登录的终端)
(1)、在pts/0(我登录的终端)输入以下命令:
1
|
$ mkfifo scriptdemo
|
(2)、在pts/1(朋友登录的终端)输入以下命令:
1
|
$ cat scriptdemo
|
(3)、在pts/0(我登录的终端)输入以下命令:
1
|
$ script -f scriptdemo |
当输入 script -f scriptdemo 并回车后,在pts/0(我登录的终端)会提示“Script started, file is scriptdemo”,在pts/1(朋友登录的终端)会提示:“Script started on Sat 19 Mar 2016 10:16:24 AM EDT”。
此时,在pts/0(我登录的终端)输入的所有命令都会在在pts/1(朋友登录的终端)上同步显示。现在pts/0(我登录的终端)就相当于服务端,pts/1(朋友登录的终端)就相当于客户端。
如果还想接入多个,在打开一个终端输入命令:
$ cat scriptdemo
这样就可以实现多个终端实时演示了。
如果,演示完成了,在现在pts/0(我登录的终端)输入exit 并按回车键就可以退出,此时,在pts/0上会提示:“Script done, file is scriptdemo”,在pts/1上回提示:“Scriptdone on Sat 19 Mar 2016 10:28:23 AM EDT”
其实,这里主要使用了三个命令,mkfifo、script和cat .