溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux中如何利用script命令記錄下會話過程

發(fā)布時間:2021-10-21 14:31:38 來源:億速云 閱讀:92 作者:小新 欄目:系統(tǒng)運維

這篇文章主要介紹了linux中如何利用script命令記錄下會話過程,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

一、script命令的主要作用于特點。

在Windows操作系統(tǒng)中,讀者可能用過一些屏幕記錄軟件,可以將某段時間的操作通過視頻的形式記錄下來。不過在Unix操作系統(tǒng)中,有時候不用這么麻煩。因為操作系統(tǒng)提供了一個script命令,幫助系統(tǒng)工程師來記錄某個會話的過程。這是一個比較冷僻的命令,也不在POSIX的規(guī)范中。為此有些Unix操作系統(tǒng)版本就可能不帶有這個功能。不少系統(tǒng)工程師可能平時很少接觸這個命令。不過筆者是比較喜歡這命令的。簡單的說,系統(tǒng)工程師利用這個命令就可以將一個會話的整個過程或則中間的某些操作記錄到一個文件中。利用這個命令基本上可以在文件中記錄大部分的鍵盤操作、命令的輸出結(jié)果以及錯誤信息。也就是說,在屏幕上輸出的信息基本上都可以保存在這個文件中。然后系統(tǒng)管理員可以在事后查看這個文件以獲得必要的信息。那么這個命令該如何使用呢?如下圖,其實很簡單。

就是script命令使用的基本過程。首先當系統(tǒng)工程師想要記錄某個會話的時候,則只需要在會話開始時輸入script命令。輸入這個命令后,系統(tǒng)就會將當前用戶的所有鍵盤操作、屏幕輸出以及錯誤信息等等保存到一個特定的文件中。如上面執(zhí)行了ps命令與who命令后,希望就會將這兩個命令(用戶的鍵盤操作)、屏幕輸出(命令的執(zhí)行結(jié)果)等等保存到文件中。當工程師需要退出記錄過程時,則只需要輸入exit命令,系統(tǒng)就會就是script done的提示信息。表示系統(tǒng)已經(jīng)結(jié)束了記錄工作。

當系統(tǒng)工程師需要查看這個文件的信息時,可以使用cat或者vi命令來查看這個文件中的內(nèi)容。不過所使用的shell版本不同,他們先是的結(jié)果可能有所差異。如在某些版本中,使用cat命令來查看這個文件,可能只顯示這個命令在什么時候完成,而不會顯示用戶的鍵盤操作與屏幕的輸出信息。為此筆者建立采用vi命令。利用vi命令來查看這個文件,就不會有版本之間的差異問題。如使用vi typescript命令,就可以查看這個文件中的具體信息。通常情況下,整個文件中包含以下幾部分內(nèi)容。

***行是注釋信息。如“Script started on 2009年06月15日 星期一 18時24分21秒”。這個提示信息顯示這個命令開始執(zhí)行的時間。然后在***一行中,也有類似的提示信息。不過***一行的提示信息顯示的是這個命令完成的時間,顯示了命令執(zhí)行完成的日期、具體時間等西虛擬。然后中間的部分就是命令與輸出結(jié)果的信息。如果在命令的的執(zhí)行過程中,有錯誤信息的話,也會一并在這里記錄。

二、scirpt命令使用的注意事項。

從以上的截圖中可以看出這個命令使用起來其實并不是很復雜。不過在一些細節(jié)方面還系統(tǒng)管理員仍然需要注意。具體的來說,有如下幾個方面要注意。

***需要注意重復記錄的問題。系統(tǒng)工程師可能只需要記錄部分的操作,為此在世紀工作中可能會頻繁的打開和關(guān)閉這個命令。但是需要注意的是,默認情況下采用script命令后會覆蓋原有的文件。如現(xiàn)在系統(tǒng)工程師首先使用script命令記錄了ps操作,此時系統(tǒng)會產(chǎn)生一個叫做typescript的文件,記錄這個命令操作的相關(guān)信息,然后中止了這個命令。一會兒一后又重新使用這個命令,來記錄who操作的過程。此時系統(tǒng)又會產(chǎn)生一個一模一樣的typescript文件。此時系統(tǒng)會將原先的記錄文件覆蓋掉。顯然這可能跟系統(tǒng)工程師的初衷相違背的。系統(tǒng)工程師希望后續(xù)的操作能夠保存在原先的記錄文件中,而不是覆蓋掉。如果要實現(xiàn)這個需求的話,那么系統(tǒng)工程師在執(zhí)行這個命令時,必須使用一個可選項參數(shù)。即按照script –a的形式來啟動這個命令。此時系統(tǒng)就不會覆蓋原有的記錄內(nèi)容,而是將后續(xù)的操作內(nèi)容追加到原有的文件中。


第二是不會記錄所有的操作。如系統(tǒng)工程師先啟動了script命令。然后再利用passwd命令來修改當前帳戶或者其他帳戶(以特權(quán)用戶登錄)的密碼時,這個密碼信息是否也會記錄下來呢?如果在記錄文件中也記錄了密碼的操作信息,那么顯然會帶來一定的安全隱患。不過這個擔憂是多余的。各位讀者可以回去測試一下,一般情況下這個密碼信息是不會記錄在這個文件中。其實,大家可以想象一下,再輸入passwd命令后,輸入新密碼時,在屏幕上也不會顯示用戶的輸入內(nèi)容,即新密碼。為此這個在屏幕上沒有輸出的內(nèi)容,也不會保存到這個記錄文件中。所以筆者說用戶的這個擔憂是不必要的。

第三是某些特定的命令不會記錄。筆者上面談到,有些鍵盤操作記錄是不會被保存的。即只要在屏幕上沒有輸出的信息一般情況下就不會給保存到記錄文件中。不過這是一個充分不必要條件。即反過來就不成立。并不是屏幕上所有顯示的內(nèi)容都會一五一十的記錄到這個文件中。像一些全屏模式的操作命令,如vi命令等等,就不會記錄到這個文件中。為此系統(tǒng)工程師在使用這個工具時,需要預(yù)見到這種情況。在操作時,如果需要記錄相關(guān)的會話過程,那么就需要盡量避免使用一些全屏的命令。如在設(shè)置環(huán)境變量時,盡量不要直接利用vi修改相關(guān)的配置文件。而是使用set等非全屏命令來對環(huán)境變量進行操作。如此操作系統(tǒng)才能夠記錄完成的操作過程。

第四系統(tǒng)工程師需要了解一些特殊鍵在文件中是如何表示的。上面筆者所過,記錄文件基本上會記錄所有的鍵盤敲擊動作。如現(xiàn)在用戶輸入了ls -1命令先查看當前目錄下的所有文件的詳細信息。后來用戶反悔了,就利用退格鍵將后面的-l參數(shù)去掉了。此時這個退格鍵的操作也會保存到記錄文件中。但是這些特定的功能鍵在文件中是采用一些特殊的符號來表示的。如退格鍵在文件中采用的是“[K”字符符號。所以向這個光標移動鍵或者del刪除鍵等等都有不同的代表方式。只有熟悉了這些代碼的含義之后,才可以真正的讀懂這個文件。不過其代表的形式雖然不同,但是還是有點規(guī)律可循。即一般特殊的功能鍵都是以[開頭的。如果系統(tǒng)工程師看到有這個字符的話,那么就需要考慮這是否代表著某個特殊的功能鍵。

第五是可以根據(jù)自己的需要來確定記錄的文件名與保存的路徑。如果系統(tǒng)工程師直接使用script命令的話,那么系統(tǒng)會自動為這個文件命名。并且這個文件默認是保存在命令執(zhí)行所在的目錄,即當前目錄中。系統(tǒng)工程師在執(zhí)行命令時,也可以自定義記錄文件的名字與保存路徑。如可以使用這個命令script log,讓系統(tǒng)將相關(guān)的記錄保存在當前文件夾下的log文件中。如果這個文件不存在的話,系統(tǒng)會自動創(chuàng)建這個文件。若存在的話,除非在命令中使用了-a參數(shù),否則的話,會覆蓋原有的文件。在覆蓋之前,不會提醒系統(tǒng)工程師。所以這一點系統(tǒng)工程師要引起重視,防止文件被意外刪除。

第六是需要注意如果輸出結(jié)果中有圖片信息的話,在這個文件中無法正常讀取。如在會話記錄的過程中,使用了netconfig命令啟動了一個圖形窗口。這個圖形窗口的信息不會在記錄文件中正確反映。系統(tǒng)工程師查看記錄文件時,看到的可能只是一連串的[k符號而已。***需要說明的是,script命令只是對當前的會話有效。即即使在root帳戶下啟動了script命令,則系統(tǒng)記錄的仍然是當前會話的操作。對于其他用戶的會話不會有絲毫影響,也不會記錄其他用戶的操作。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“l(fā)inux中如何利用script命令記錄下會話過程”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI