關於linux上的操作,我們的確可以使用'history'命令來顯示出來操作記錄,但是有些時候,我們不僅僅需要知道做了什么,還需要知道操作的時候,產生了什么效果,這個時候‘history’命令就顯示無能為力了,錄屏命令'script'該一展身手了。
錄制使用舉例:
$ script -t 2>time.file -a output.file #開始錄制了
$ ls -al
1.c 2.c 3.c #執行一個命令
$exit #結束錄制
使用說明:
1.script/scriptrelpay實現依賴於一個時間點文件time.file和一個輸出文件output.file。
2.執行scriptreplay可以模擬之前錄制的行為,但務必注意:回放並不能產生任何實際的改變
(例如我在錄制期執行了touch 1.cpp
但是回放時並不能真的創建這個文件)
3. 因此此命令一般用於演示,其最大的優點在於可復制兩個文本文件,並在不同設備間回放該腳本
參數說明:
1.若想實現完整的錄制功能,就必須有一個time文件,文件名可以任意取但一定注意 -t
后面的2>
。這條語句是將stderr重定向輸出到文件。缺少這段語句將失去模擬回放的功能
2.output.file存儲了全部的輸出信息,也是我們回放信息的來源。-a
的意義是將輸出append到文件。之所以這么做是因為在錄制期間我們已經對命令行作了有效的輸出,所以若要保留這些輸出信息,必須把輸出流復制一下,也就是append。
3.如果不添加-a output.file
這段語句,則默認生成一個名為typescript
的文件,可以使用這個默認文件作為output.file
4.output.file中除了輸出的文本信息外,還保存了光標移動的信息。
5.錄制腳本后用exit推出
6.如果開始一次新的錄制,應該創建兩個新的記錄文件而非使用原來的。因為腳本的append方式並不會將原來文件內容清空而是在末尾添加。
回放舉例:
$ scriptreplay time.file output.file #腳本將會自動回放
對於我而言,我會在回放的時候添加一個參數 -d $num ,用來快進或者放慢,小於1 的小數表示減慢,大於1的數表示加快,比如
scriptreplay time.file output.file -d 2 #快進兩倍
如果scriptreplay命令不存在,如下安裝:
安裝scriptreplay:
1. wget http://dxdown.onlinedown.net/down/util-linux-ng-2.17.2.tar.zip
2. unzip util-linux-ng-2.17.2.tar.zip
3. tar zxvf util-linux-ng-2.17.2.tar.gz
4. cd util-linux-ng-2.17.2
5. ./configure && make (注意此處只是make了)
6. cp misc-utils/scriptreplay /usr/bin/
如果安裝失敗,報錯:
configure: error: ncurses or ncursesw selected, but library not found (--without-ncurses to disable)
只要將上面的第五條命令改成:
./configure --without-ncurses && make
就可以跳過校驗成功編譯scriptreplay命令
此外,windows也有類似錄屏的命令,即問題記錄器,使用問題步驟記錄器的方法非常簡單,在開始菜單中找到「運行」或通過快捷鍵「Windows+R」來打開運行窗口,
輸入「psr」后直接回車,即可看到問題步驟記錄器的主界面。
參考:http://www.sohu.com/a/191243679_444417