Linux 的 history 命令使用大全
history命令:用于顯示歷史記錄和執(zhí)行過的指令命令。history命令讀取歷史命令文件中的目錄到歷史命令緩沖區(qū)和將歷史命令緩沖區(qū)中的目錄寫入命令文件linux命令。該命令單獨(dú)使用時(shí),僅顯示歷史命令,在命令行中,可以使用符號!執(zhí)行指定序號的歷史命令。例如,要執(zhí)行第2個(gè)歷史命令,則輸入!2。
redis慢查詢保存在內(nèi)存中,最多保存slowlog-max-len(默認(rèn)128)個(gè)慢查詢命令,當(dāng)慢查詢命令日志達(dá)到128個(gè)時(shí),新慢查詢被加入前,會(huì)刪除最舊的慢查詢命令。比如上面例子中 如果一個(gè)線程在執(zhí)行 i = i +1,如果在執(zhí)行這段代碼的過程中,在總線上發(fā)出了lcok#鎖的信號,那么只有等待這段代碼完全執(zhí)行完畢之后,其他cpu才能從變量i所在的內(nèi)存讀取變量,然后進(jìn)行相應(yīng)的操作。類的狀態(tài),也就是類之間共享的變量,是存儲(chǔ)在主內(nèi)存中的,每次java線程用到這些主內(nèi)存中的變量的時(shí)候,會(huì)讀一次主內(nèi)存中的變量,并讓這些內(nèi)存在自己的工作內(nèi)存中有一份拷貝,運(yùn)行自己線程代碼的時(shí)候,用到這些變量,操作的都是自己工作內(nèi)存中的那一份。
選項(xiàng):
-N: 顯示歷史記錄中最近的N個(gè)記錄;
-c:清空當(dāng)前歷史命令;
-a:將歷史命令緩沖區(qū)中命令寫入歷史命令文件中;
-r:將歷史命令文件中的命令讀入當(dāng)前歷史命令緩沖區(qū);
-w:將當(dāng)前歷史命令緩沖區(qū)命令寫入歷史命令文件中;
-d<offset>:刪除歷史記錄中第offset個(gè)命令
-n<filename>:讀取指定文件
參數(shù):
n:打印最近的n條歷史命令。
實(shí)例:
#查看歷史執(zhí)行記錄
[ljs@vm ~]$
[ljs@vm ~]$ history #查看歷史執(zhí)行記錄
#查看歷史執(zhí)行記錄后 5 條
[ljs@vm ~]$
[ljs@vm ~]$ history 5 #查看歷史執(zhí)行記錄后 5 條
# 使用! 執(zhí)行歷史命令。 # ! number 執(zhí)行第幾條命令 [ljs@vm ~]$ [ljs@vm ~]$ !10 #執(zhí)行歷史記錄第 10 條命令 # !! 執(zhí)行上一條 [ljs@vm ~]$ [ljs@vm ~]$ !! #執(zhí)行上一條命令
顯示執(zhí)行歷史記錄時(shí)間:
1、默認(rèn)情況下,history并不記錄命令的執(zhí)行時(shí)間,分析起來很困難。我們可以使用HISTTIMEFORMAT在歷史中顯示TIMESTAMP。
2、把上面的 export HISTTIMEFORMAT="%F %T " 命令加入到~/.bashrc中即可在登錄后自動(dòng)開啟history時(shí)間戳了。添加完成后,執(zhí)行source .bashrc 讓其生效。僅針對當(dāng)前賬號有效。
3、其實(shí)HISTTIMEFORMAT的格式就是 strftime函數(shù)的格式,比如上面的"%F %T ",%F表示顯示出Y-M-D格式的日期,%T表示顯示出H-M-S這樣格式的時(shí)間。
4、用Ctrl+R搜索歷史命令;當(dāng)你執(zhí)行了一串相當(dāng)長的命令之后,你只要用關(guān)鍵字搜索一下歷史命令然后重新執(zhí)行這條命令而不需要將整條命令再輸一遍。方法是:按下Ctrl+R然后輸入關(guān)鍵字。如搜索”date”,則顯示歷史的命令中含有”date”的命令?date "+今天是:%F,%A,時(shí)間是:%T.準(zhǔn)備吃飯去"。按回車,就可以重新執(zhí)行這條命令了,而按左箭頭鍵或右箭頭鍵則可以直接修改,改完之后按回車執(zhí)行,非常方便!
【注:在命令行提示符下按下Ctrl+R,終端將顯示如下提示reverse-i-search】
#配置HISTTIMEFORMAT環(huán)境變量,給history記錄添加上時(shí)間戳
[ljs@vm ~]$
[ljs@vm ~]$ export HISTTIMEFORMAT="%F %T " #配置HISTTIMEFORMAT環(huán)境變量,給history記錄添加上時(shí)間戳
上一個(gè)教程:Linux基礎(chǔ)入門
下一個(gè)教程:一個(gè)linux命令(6/12):cat 命令