本文由Suzzz原創,發布於 http://www.cnblogs.com/Suzzz/p/4107700.html ,轉載請保留此聲明。
有時候可能想要記錄在終端的所有操作包括輸出等,將來作為視頻播放。系統管理員可能需要記錄某些用戶的操作。另外可能有時需要向人實時演示一些操作流程。 這些都可以通過script來實現。
script簡介
script命令用來將終端會話保存。用法如下
Usage: script [options] [file] Options: -a, --append append the output -c, --command <command> run command rather than interactive shell -r, --return return exit code of the child process -f, --flush run flush after each write --force use output file even when it is a link -q, --quiet be quiet -t, --timing[=<file>] output timing data to stderr (or to FILE) -V, --version output version information and exit -h, --help display this help and exit
常用的有
-a 指定輸出附加到一個文件中,不會覆蓋,這樣可以一直使用同一個文件
-t 用來輸出時間信息,回放的時候用到
-q 不顯示script啟動和exit的命令,這樣用戶可以完全察覺不到在錄屏
-f 每次操作后都立即刷新緩存。 如果不設置這個選項,則不會實時寫入文件。
用法示例
記錄
提示script啟動,並且記錄到指定文件中。 如果這個文件已存在,希望追加記錄,加上 -a 選項
使用Ctrl + D 后者 exit退出記錄
如果想要同時輸出時間文件
script -t timingfile -a scriptfile
回放
需要 scriptreplay 這個命令
scriptreply timingfile scriptfile
效果就和視頻錄制的差不多
自動記錄用戶活動
可以在用戶的 .profile中添加上
/usr/bin/script -qa logfile
下次用戶登陸,script就會自動保存到 logfile
-q 是為了不顯示 “ Script started...."這樣的提示文本,從而使用戶完全察覺不到script的存在。
向多個用戶廣播自己的終端操作
操作這本身在終端中建立一個 fifo 文件(關於fifo和mkfifo,可以放狗搜一下),用於通信
$ mkfifo PATH/testfifo
其他多個用戶查看這個文件
$ cat PATH/testfifo
操作者開始用script記錄自己的操作,並實時保存到 testfifo 中
script -f PATH/testfifo
記得最開始講的 -f 作用吧? 讓script實時寫到文件中
這樣,其他用戶就可以看到操作者的演示了。