天天看點

幾個有意思的指令:錄制與回放終端會話--script、scriptreplay

   script和scriptreplay指令負責把終端會話記錄到一個檔案中,可以通過錄制終端會話來制作指令行技巧視訊教程。

script

-a  将會話内容追加至 file檔案中,script預設會産生typescript檔案。

-c command  運作一個指令而不是一個互動式的shell,這對于捕獲标準輸出不是tty的程式是非常簡單的。

-e 傳回子程序的exit code。

-f 每次寫完後,都會重新整理輸出而不是留在緩存中。

-q  quite 模式。

-t [filename ] 輸出時間資訊和标準錯誤,如果後加檔案則輸出到檔案,回放時要用到。

1、開始錄制會話

script -t 2> time.log -a output.session      #開始後,會提示:cript started, file is output.session

...                                          #輸入操作

exit                                         #結束錄制,會提示:Script done, file is output.session

   上述的time.log負責存儲時序資訊,描述每一個指令何時運作;output.session用于存儲指令資訊輸出。

2、回放錄制内容

   借助time.log與output.session兩個檔案按照下面的方法回放指令執行過程:

scriptreplay time.log output.session  

3、多個使用者間廣播會話

script指令同樣可以用于建立多個使用者之間進行廣播的視訊會話。

(1)在一個Terminal1中輸入如下指令:

mkfifo scriptfifo            #開始後會提示:Script started, file is script

script -f scriptfifo

(2)在Temrinal2中輸入如下指令:

cat scriptfifo               #此時,在Teminal1中的所有操作都會顯示在Terminal2中實時播放。

exit                         #結束後,會提示:Script done, file is scriptfifo。

   在實際操作中,發現多個Terminal時會出現延遲的現象,甚至不同步,還沒找到原因。但隻有兩個Terminal時實時播放良好。

繼續閱讀