Linux錄製、回放和共享終端操做

Linux錄製、回放和共享終端操做html


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

1.1 錄製ide

[root@xuexi ~]# cd /tmp [root@xuexi tmp]# script -t 2> timing.log -a output.session  # 開始錄製 Script started, file is output.sessionspa

[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      # 再執行一個操做:命令cd3d

[root@xuexi test]# exit  # 結束錄製 exit Script done, file is output.sessionhtm


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

注意:錄製前保證timing.log和output.session是空文件,不然將致使回放時操做不一致。ip


1.2 回放get

[root@xuexi test]# scriptreplay timing.log output.sessionit

若是以爲回放的速度過慢(錄製時有些地方停頓,好比輸入了一個命令後,隔了一段時間才輸入另外一個命令,這段時間對於回放來講顯得慢很正常),能夠修改timing.log文件。這個文件中分兩個字段,第一個字段記錄的是從上次輸出後到該次輸出的時間間隔,第二個字段是從output.session中讀取的字符數。要修改回放速度,只需將第一個字段較長的間隔改短一點就能夠。可是不該該改的過短,不然回放速度過快。我以爲將間隔較長的改爲0.3-0.7秒,效果還不錯。

[root@xuexi ~]# cat c.timing

0.117244

160.007955

10.298074 1       # 此處將原來的2.298074改成0.3秒

0.216628

10.092781

10.081659

10.083258

10.419445

10.314128

10.100810

10.083998

300.491283

10.266129 1   # 此處原來也是2.266129秒,顯然通過一次命令輸出以後停頓了2秒多

0.099767

10.127625

10.078809

10.181493

10.147795

10.115808

10.077416

10.274658

10.257042

10.524460

40.297133

380.458018

10.416350

10.187270

10.125467

10.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文件。

5-2073081875.png

在終端2上打開pipe文件。

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

 222222222222222.png

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

[root@xuexi tmp]# script -f scriptfifo

 33333333333333339.png

4444444444444.png

使用exit便可中止分享並退出記錄行爲。

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

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

須要注意的是,只能給一個會話共享會話終端。若是多個會話 cat scriptfifo ,會致使共享切開顯示在多個不一樣會話上。

相關文章
相關標籤/搜索