script和scriptreplay在絕大多數GNU/Linux發行版中都是可用的,script用於將屏幕會話記錄到一個文件中,scriptreplay用於將記錄的屏幕會話進行回放,下面咱們來看具體是怎麼樣實現的:session
咱們能夠這樣開始來記錄屏幕會話:ide
$ script -t 2> timing.log -a output.sessionspa
$ type commands; #此時就像咱們平時同樣,該輸入什麼輸入什麼,就當什麼也沒有發生。命令行
.....視頻
.....ip
exit #可能會輸入N多命令,你以爲只須要記錄到這裏了,那就輸入exit來結束它。terminal
說明:上面有兩個配置文件(timing.log、output.session)做爲參數傳遞給了script命令,其中timing.log文件用來存儲每一個命令運行的時間信息,output.session文件用來存儲命令輸出(實際上也就是屏幕輸出)。-t 用於將時間數據dump to stderr,所以咱們用2>將stderr重定向到timing.log,timing.log和output.session固然是能夠自定義的。it
在同一路徑下,咱們能夠利用這兩個文件來回放屏幕會話:io
$ scriptreplay timing.log output.sessionclass
....
.... #此處就是須要輸出的內容了。
很簡單吧,另外咱們只須要將這兩個文件共享給別人,其它人就能夠看這個「視頻」了,固然不足之處是沒有聲音,可是有個至關大的好處,文件會至關小,適合在互聯網上傳輸。
接下咱們看怎麼在命令行下實現實時廣播,這種方法特適合教學,並且絕對的流暢。
首先打開兩個terminals,terminal1和terminal2。
一、在terminal1上輸入以下命令:
$ mkfifo scriptfifo #文件名能夠自定義
二、在terminal2上輸入以下命令:
$ cat scriptfifo #固然要找對路徑
三、回到terminal1,而後輸入以下命令:
$ script -f scriptfifo
$ type commands ;
$ ......
$ ...... #可能會輸入N多命令,當你不須要廣播時,輸入exit而後回車。
這樣,若是你的學生打開的是terminal2,他/她就能夠實時地看到你(老師)是怎麼樣操做的了。