首頁 > 軟體

Linux下錄製、回放和共用終端操作

2020-06-16 17:09:03

使用script命令錄製,使用scriptreplay播放錄製的操作。共用終端的操作,則需要使用命名管道來實現。

1.1 錄製

[root@linuxidc ~]# cd /tmp

[root@linuxidc tmp]# script -t 2> timing.log -a output.session  # 開始錄製
Script started, file is output.session
[root@linuxidc tmp]# ls                 # 執行一個操作:命令ls
abc.sh  ab.sh  index.html  lost+found  output.session  scriptfifo  test  test1  timing.log  vmware-root

[root@linuxidc tmp]# cd /tmp/test      # 再執行一個操作:命令cd
[root@linuxidc test]# exit  # 結束錄製
exit
Script done, file is output.session

其中"-t 2> timing.log"是要回放的必須選項,不加"2>"將導致開啟錄製後的任何輸入都是亂碼狀態,不加"-t timing.log"將不能使用scriptreplay來回放。timing.log記錄的是每個時間段輸入了多少字元。通過timing.log和output.session配合可以實現回放。

注意點是,錄製前保證timing.log和output.session是空檔案,否則將導致回放時操作不一致。

1.2 回放

[root@linuxidc test]# scriptreplay timing.log output.session

1.3 終端螢幕分享

通過管道來傳輸資訊實現。需要一個pipe檔案,並在需要展示的終端開啟這個管道檔案。

在終端1(作為主終端,即演示操作的終端)上使用mkfifo建立管道檔案。

[root@linuxidc tmp]# mkfifo scriptfifo

[root@linuxidc tmp]# ll scriptfifo
prw-r--r-- 1 root root 0 Sep 26 13:04 scriptfifo   # 許可權位前面的第一個p代表的就是pipe檔案。

 

在終端2上開啟pipe檔案。

[root@linuxidc ~]# cat /tmp/scriptfifo

 

在終端1上使用script -f開始記錄操作,之後的操作將會分享在終端2上。

[root@linuxidc tmp]# script -f scriptfifo

 

使用exit即可停止分享並退出記錄行為。

[root@linuxidc tmp]# exit
exit
Script done, file is scriptfifo

在被分享終端上參與分享狀態後將不能執行任何操作,執行的操作會被記錄下來,並在主終端停止分享後自動執行。

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-08/146537.htm


IT145.com E-mail:sddin#qq.com