linux的script命令
linux的script命令
script命令能夠?qū)⒔K端的會(huì)話過程錄制下來,下面由學(xué)習(xí)啦小編為大家整理了linux的script命令的相關(guān)知識(shí),希望對(duì)大家有幫助!
linux的script命令
script 是一個(gè)神奇命令,script 能夠?qū)⒔K端的會(huì)話過程錄制下來,然后使用 scriptreplay 就可以將其錄制的結(jié)果播放給他人觀看。script 的好處就在于你在終端中的所有操作、敲過的命令和打印出的結(jié)果它都可以原原本本地進(jìn)行錄制??梢詰?yīng)用于教學(xué)、演示、審計(jì)。
一般來說,script 和 scriptreplay 在 Linux 發(fā)行版中都有默認(rèn)安裝。
script -t 2>demo.time -a demo.his 開始錄像,ctrl+d或者exit結(jié)束
scriptreplay demo.time demo.his 回放
兩個(gè)配置文件被當(dāng)做script命令的參數(shù)。這兩個(gè)文件可以隨便命名,這里用demo.time和demo.his。其中demo.time用于存儲(chǔ)時(shí)序信息,描述每一個(gè)指令在何時(shí)運(yùn)行;demo.his用于存儲(chǔ)命令信息輸出。-t選項(xiàng)用于將時(shí)序數(shù)據(jù)導(dǎo)入stderr。2>用于stderr重定向到demo.time。
參數(shù):
-t 指明輸出錄制的時(shí)間數(shù)據(jù)
-f 如果需要在輸出到日志文件的同時(shí),也可以查看日志文件的內(nèi)容,可以使用 -f 參數(shù)。PS:可以用于教學(xué),兩個(gè)命令行接-f可以實(shí)時(shí)演示
-a 輸出錄制的文件,在現(xiàn)有內(nèi)容上追加新的內(nèi)容
-q 可以使script命令以靜默模式運(yùn)行
利用script記錄某人行為
vi ~/.profile
script -t -f -q 2>$USER.time -a $USER.his
linux的scripy命令應(yīng)用
1、演示教學(xué)
第一個(gè)命令框
script -f demo
其他命令框
scriptreplay -f demo
可以實(shí)現(xiàn)實(shí)時(shí)同步演示
2、服務(wù)器安全審計(jì)
直接操作線上的服務(wù)器有很大隱患,所以一般都是通過登錄跳板機(jī),然后連接線上服務(wù)器,跳板機(jī)可以訪問控制和安全審計(jì),查看記錄每個(gè)人對(duì)線上服務(wù)器的操作
用戶家目錄下,修改環(huán)境變量,使得用戶登錄就會(huì)觸發(fā)錄像
vi ~/.profile
script -t -f -q 2>/wow/$USER-$UID-`date +%Y%m%d%H%M%S`.time -a /wow/$USER-$UID-`date +%Y%m%d%H%M%S`.his
這樣搞完后,發(fā)現(xiàn)有一個(gè)問題是每次退出,我習(xí)慣Ctrl+D,然后按第一遍停止錄像,第二遍才能用戶退出,如何解決在后面添加
if [ "$SHLVL" = 1 ]; then
exit
fi
這樣就可以一遍Ctrl+D停止錄像和退出用戶。
必須得時(shí)許信息在前,命令信息在后。