Linux的script命令――隱藏在終端的記錄器
當(dāng)你在終端或控制臺(tái)上工作時(shí),你可能想記錄下自己做了些什么。這種記錄可以看成是保存了終端痕跡的文檔。假設(shè)你跟一些Linux管理員同時(shí)在系統(tǒng)上干活。或者說(shuō)你讓別人遠(yuǎn)程到你的服務(wù)器。你就會(huì)想記錄下終端發(fā)生過(guò)什么。要實(shí)現(xiàn)它,你可以使用script命令。
本文引用地址:http://cafeforensic.com/article/201609/304197.htmscript是啥
script是將終端會(huì)話(huà)制成打印稿的命令。對(duì)于想重現(xiàn)終端輸入輸出歷史的人來(lái)說(shuō),十分管用。而且,這些記錄還能被保存或打印。
如何使用它
一般地,我們可以通過(guò)在終端上敲入script來(lái)啟動(dòng)它。
pungki@dev-machine:~$ script
Script started, file is typescript
pungki@dev-machine:~$
還可以指定一個(gè)目標(biāo)文件來(lái)保存打印稿的結(jié)果。
當(dāng)你再次收到一條命令提示,就說(shuō)明終端上出現(xiàn)的任何東西,都將被記錄下來(lái)。
不指定文件的話(huà),你會(huì)看到在當(dāng)前目錄,有了一個(gè)叫“typescript”的文件。
為什么要用它
就像之前提到的,script的主要功能是記錄一切。以下是兩個(gè)展示其用途的示例場(chǎng)景。
與同事合作
當(dāng)與同事協(xié)同工作時(shí),我們可以使用script來(lái)記錄自己的活動(dòng)。
假設(shè)我們將使用一個(gè)叫collaborate的打印稿文件。像這樣的話(huà)就輸入:
接著,在干了一下事情之后,假設(shè)你想將你個(gè)工作交接給另一個(gè)工程師,那就發(fā)送那個(gè)文件吧。當(dāng)他想回顧你做的事,只需打開(kāi)那個(gè)文件便可。
如果他想在那個(gè)文件的基礎(chǔ)上追加記錄,可以使用-a選項(xiàng)。
記錄他人活動(dòng)
你可以讓你的工程師或別的什么人遠(yuǎn)程登入到你的系統(tǒng)。為了確認(rèn)他們做對(duì)了沒(méi),你可以記錄下他們做了什么。想要script在登錄時(shí)就生效,我們可以將其加在shell profile。如果你在使用bash,講一下幾行放進(jìn)profile去吧。
$ vi ~/.profile
# run the script command to record everything
# use -q for quite and -a option to append the script
#
/usr/bin/script -qa /usr/local/script/log_record_script
然后保存。下次他再登錄的時(shí)候,script就會(huì)自動(dòng)運(yùn)行并將記錄追加在/usr/local/script/log_record_script
選項(xiàng)-q是安靜模式。用戶(hù)登錄時(shí)完全不會(huì)察覺(jué)到script命令的運(yùn)行。而選項(xiàng)-a是追加,不會(huì)覆蓋以往的記錄。
如果不用-q,用戶(hù)登錄時(shí)就會(huì)因如下畫(huà)面而察覺(jué)script的存在。
停止記錄
敲擊ctrl+d或exit,可以停止記錄。你會(huì)發(fā)現(xiàn)寫(xiě)入記錄是發(fā)生在停止之后的。
結(jié)論
script命令對(duì)于記錄終端歷史還是挺有用的。將記錄保存在文本文件,這樣可以很方便地用任何文本編輯器打開(kāi)。平時(shí),我們可以使用man script或script -h來(lái)更深地挖掘它。
評(píng)論