如何記錄你在終端中執(zhí)行的所有操作
幾天前,我們發(fā)布了一個(gè)解釋如何保存終端中的命令并按需使用的指南。對于那些不想記憶冗長的 Linux 命令的人來說,這非常有用。今天,在本指南中,我們將看到如何使用 script
命令記錄你在終端中執(zhí)行的所有操作。你可能已經(jīng)在終端中運(yùn)行了一個(gè)命令,或創(chuàng)建了一個(gè)目錄,或者安裝了一個(gè)程序。script
命令會保存你在終端中執(zhí)行的任何操作。如果你想知道你幾小時(shí)或幾天前做了什么,那么你可以查看它們。我知道我知道,我們可以使用上/下箭頭或 history
命令查看以前運(yùn)行的命令。但是,你無法查看這些命令的輸出。而 script
命令記錄并顯示完整的終端會話活動。
script
命令會在終端中創(chuàng)建你所做的所有事件的記錄。無論你是安裝程序,創(chuàng)建目錄/文件還是刪除文件夾,一切都會被記錄下來,包括命令和相應(yīng)的輸出。這個(gè)命令對那些想要一份交互式會話拷貝作為作業(yè)證明的人有用。無論是學(xué)生還是導(dǎo)師,你都可以將所有在終端中執(zhí)行的操作和所有輸出復(fù)制一份。
在 Linux 中使用 script 命令記錄終端中的所有內(nèi)容
script
命令預(yù)先安裝在大多數(shù)現(xiàn)代 Linux 操作系統(tǒng)上。所以,我們不用擔(dān)心安裝。
讓我們繼續(xù)看看如何實(shí)時(shí)使用它。
運(yùn)行以下命令啟動終端會話記錄。
$ script -a my_terminal_activities
其中,-a
標(biāo)志用于將輸出追加到文件(記錄)中,并保留以前的內(nèi)容。上述命令會記錄你在終端中執(zhí)行的所有操作,并將輸出追加到名為 my_terminal_activities
的文件中,并將其保存在當(dāng)前工作目錄中。
示例輸出:
Script started, file is my_terminal_activities
現(xiàn)在,在終端中運(yùn)行一些隨機(jī)的 Linux 命令。
$ mkdir ostechnix
$ cd ostechnix/
$ touch hello_world.txt
$ cd ..
$ uname -r
運(yùn)行所有命令后,使用以下命令結(jié)束 script
命令的會話:
$ exit
示例輸出:
exit
Script done, file is my_terminal_activities
如你所見,終端活動已存儲在名為 my_terminal_activities
的文件中,并將其保存在當(dāng)前工作目錄中。
要查看你的終端活動,只需在任何編輯器中打開此文件,或者使用 cat
命令直接顯示它。
$ cat my_terminal_activities
示例輸出:
Script started on Thu 09 Mar 2017 03:33:44 PM IST
[sk@sk]: ~>$ mkdir ostechnix
[sk@sk]: ~>$ cd ostechnix/
[sk@sk]: ~/ostechnix>$ touch hello_world.txt
[sk@sk]: ~/ostechnix>$ cd ..
[sk@sk]: ~>$ uname -r
4.9.11-1-ARCH
[sk@sk]: ~>$ exit
exit
Script done on Thu 09 Mar 2017 03:37:49 PM IST
正如你在上面的輸出中看到的,script
命令記錄了我所有的終端活動,包括 script
命令的開始和結(jié)束時(shí)間。真棒,不是嗎?使用 script
命令的原因不僅僅是記錄命令,還有命令的輸出。簡單地說,腳本命令將記錄你在終端上執(zhí)行的所有操作。
結(jié)論
就像我說的那樣,腳本命令對于想要保留其終端活動記錄的學(xué)生,教師和 Linux 用戶非常有用。盡管有很多 CLI 和 GUI 可用來執(zhí)行此操作,但 script
命令是記錄終端會話活動的最簡單快捷的方式。