幾個有意思的命令:錄製與回放終端會話--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時實時播放良好。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章