2021-05-12 14:32:11
Linux下script命令錄製、回放和共用終端操作
另一篇終端對談共用的文章:Linux終端對談實時共用(kibitz)
使用script命令錄製,使用scriptreplay播放錄製的操作。共用終端的操作,則需要使用命名管道來實現。
1.1 錄製
[root@xuexi ~]# cd /tmp
[root@xuexi tmp]# script -t 2> timing.log -a output.session # 開始錄製
Script started, file is output.session[root@xuexi tmp]# ls # 執行一個操作:命令ls
abc.sh ab.sh index.html lost+found output.session scriptfifo test test1 timing.log vmware-root
[root@xuexi tmp]# cd /tmp/test # 再執行一個操作:命令cd[root@xuexi 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@xuexi test]# scriptreplay timing.log output.session
如果覺得回放的速度過慢(錄製時有些地方停頓,比如輸入了一個命令後,隔了一段時間才輸入另一個命令,這段時間對於回放來說顯得慢很正常),可以修改timing.log檔案。這個檔案中分兩個欄位,第一個欄位記錄的是從上次輸出後到該次輸出的時間間隔,第二個欄位是從output.session中讀取的字元數。要修改回放速度,只需將第一個欄位較長的間隔改短一點就可以。但是不應該改的太短,否則回放速度過快。我覺得將間隔較長的改成0.3-0.7秒,效果還不錯。
[root@xuexi ~]# cat timing.log
0.117244 16
0.007955 1
0.298074 1 # 此處將原來的2.298074改為0.3秒
0.216628 1
0.092781 1
0.081659 1
0.083258 1
0.419445 1
0.314128 1
0.100810 1
0.083998 30
0.491283 1
0.266129 1 # 此處原來也是2.266129秒,顯然經過一次命令輸出之後停頓了2秒多
0.099767 1
0.127625 1
0.078809 1
0.181493 1
0.147795 1
0.115808 1
0.077416 1
0.274658 1
0.257042 1
0.524460 4
0.297133 38
0.458018 1
0.416350 1
0.187270 1
0.125467 1
0.100756 8
1.3 終端螢幕分享
通過管道來傳輸資訊實現。需要一個pipe檔案,並在需要展示的終端開啟這個管道檔案。
在終端1(作為主終端,即演示操作的終端)上使用mkfifo建立管道檔案。
[root@xuexi tmp]# mkfifo scriptfifo
[root@xuexi tmp]# ll scriptfifo
prw-r--r-- 1 root root 0 Sep 26 13:04 scriptfifo # 許可權位前面的第一個p代表的就是pipe檔案。
在終端2上開啟pipe檔案。
[root@xuexi ~]# cat /tmp/scriptfifo
在終端1上使用script -f開始記錄操作,之後的操作將會分享在終端2上。
[root@xuexi tmp]# script -f scriptfifo
使用exit即可停止分享並退出記錄行為。
[root@xuexi tmp]# exit
exit
Script done, file is scriptfifo
在被分享終端上參與分享狀態後將不能執行任何操作,執行的操作會被記錄下來,並在主終端停止分享後自動執行。
需要注意的是,只能給一個對談共用對談終端。如果多個對談 cat scriptfifo ,會導致共用切開顯示在多個不同對談上。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-09/153874.htm
相關文章