新聞中心
在 linux 下面可以使用 history 命令查看用戶的所有歷史操作,同時(shí) shell 命令操作記錄默認(rèn)保存在用戶目錄的?.bash_history
文件中。通過這個(gè)文件可以查詢 shell 命令的執(zhí)行歷史,有助于運(yùn)維人員進(jìn)行系統(tǒng)審計(jì)和問題排查。
- 用于顯示或操作歷史列表。歷史列表是指用戶執(zhí)行過的指令命令。
- 用于讀取歷史命令文件中的目錄 到歷史命令緩沖區(qū) 和將歷史命令緩沖區(qū)中的目錄 寫入命令文件。
- history命令是被保存在內(nèi)存中的。當(dāng)退出或者登錄shell時(shí),會自動保存或讀取歷史列表。
- 該命令單獨(dú)使用時(shí),僅顯示歷史命令。加上number,則展示內(nèi)存中最后number個(gè)歷史命令。
- 在命令行中,可以使用符號?
!
執(zhí)行指定序號的歷史命令。例如,要執(zhí)行第 2 個(gè)歷史命令,則輸入!2。 - 在內(nèi)存中,歷史命令僅能夠存儲?
1000
條歷史命令,該數(shù)量是由環(huán)境變量?HISTSIZE
進(jìn)行控制。 - 默認(rèn)是不顯示命令的執(zhí)行時(shí)間,命令的執(zhí)行時(shí)間,history 已經(jīng)記錄,只是沒有顯示。
Tips: 如想查詢某個(gè)用戶在系統(tǒng)上執(zhí)行了什么命令,可以使用root用戶身份登錄系統(tǒng),檢查Home目錄下的用戶主目錄下的?.bash_history
文件,該文件記錄了用戶所使用的命令和歷史信息。
配置顯示歷史命令的執(zhí)行時(shí)間格式
export HISTTIMEFORMAT="%F %T "
歷史列表忽略指定命令
export HISTIGNORE="pwd:ls:ll"
場景: 忽略這些指令諸如“pwd”,“l(fā)s”之類的基本指令。注意在 HISTIGNORE 中添加“l(fā)s”,只忽略“l(fā)s”,而不忽略“l(fā)s –l”。一定要準(zhǔn)確的寫出要忽略的的指令,多個(gè)指令之間用?:
隔開。
配置歷史列表緩存區(qū)的記錄總數(shù)(默認(rèn) 1000)
export HISTSIZE=500
配置歷史列表文件 .bash_history 的記錄總數(shù)(默認(rèn) 2000)
export HISTFILESIZE=3000
配置指定歷史列表文件(默認(rèn) ~/.bash_history)
export HISTFILE=~/.history
配置記錄所有重復(fù)命令(默認(rèn) HISTCONTROL=ignoreboth)
export HISTCONTROL=ignoredups
當(dāng) HISTCONTROL 為以下值時(shí),作用分別如下:
ignoredups
記錄此后所有操作命令,包括連續(xù)重復(fù)命令;ignoreboth
消除此后命令歷史中的連續(xù)重復(fù)條目(默認(rèn));erasedups
消除此后命令歷史列表中的重復(fù)命令。
禁用 history
export HISTSIZE=0
效果:執(zhí)行 history 后沒有顯示任何信息。
Tips: 上述配配置均是當(dāng)前回話生效,如需永久生效,請將對應(yīng)配置寫入環(huán)境配置文件中,如?~/.bashrc
,?/etc/profile
反向查詢歷史命令
Ctrl+r
,再輸入關(guān)鍵字Tips:
- 在命令行提示符下按下 Ctrl+r ,終端將顯示如下提示 (reverse-i-search)`':
- 使用 Ctrl+r 反向查詢歷史命令,將匹配的最新一條顯示出來,如果還想繼續(xù)向上查詢,繼續(xù)按 Ctrl+r 。
執(zhí)行上一個(gè)命令
!!
!-1
執(zhí)行序號 num 的歷史命令
!num
執(zhí)行最近一個(gè) cmd 開頭的歷史命令
!cmd
清空歷史命令
- 清空緩存中的歷史命令
history -c
- 清空歷史列表文件
rm -f ~/.bash_history
echo "">~/.bash_history
- 清空緩存中的歷史命令
復(fù)用上一條命令的參數(shù)
!!:^
或?!:^
或?!^
執(zhí)行上一條命令的第一個(gè)參數(shù);!!:$
或?!:$
或?!$
執(zhí)行上一條命令的最后一個(gè)參數(shù);!!:num
或?!:num
執(zhí)行上一條命令的第 num 個(gè)參數(shù);
復(fù)用最近一條 cmd 命令的參數(shù)
!cmd:^
執(zhí)行 cmd 命令的第一個(gè)參數(shù);!cmd:$
執(zhí)行 cmd 命令的最后一個(gè)參數(shù);!cmd:num
執(zhí)行 cmd 命令的第 num 個(gè)參數(shù);
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
本文名稱:Linuxhistory命令記錄設(shè)置-創(chuàng)新互聯(lián)
文章起源:http://www.dlmjj.cn/article/dopedj.html