玩轉History命令

2021-10-03 05:12:39 字數 2914 閱讀 8908

history的歷史命令預設儲存在~/.bash_history檔案中。

可以直接清空此檔案內容的方式清空全部歷史記錄。下面是更方便的一些操作。

清除全部記錄

history -c
本命令只能清除記憶體中的歷史記錄,只有在登出的時候才會改變.bash_history檔案。

可以執行命令「history -w」立即更新這個檔案。

刪除某一行

history -d
linux下的history是使用頻率較高的命令之後,可以回顧自己的操作,也可以快速取出一下前面操作過的命令。不過,預設設定沒有記錄操作的時間戳,下面是記錄操作時間的辦法。

設定辦法

下面的內容設定到~/.bashrc檔案僅對當前使用者有效,寫入到/etc/profile對所有使用者有效

echo

'export histtimeformat="%f %t `

whoami

` "'

>> ~/.bashrc &&

source ~/.bashrc

本設定生效後,當天最近一次登入後進行的操作,都在記憶體中,都有時間戳記錄,所以可以記錄正確時間。 上一次登入及以前的那些操作,會一律設定為這次最後一次登入後的第一次命令列操作的時間。

tips: 如果沒有做客戶端登出操作的習慣,丟失連線後,記憶體中的命令列操作歷史記錄不會自動寫入磁碟檔案,會出現操作記錄丟失的情況。建議用「history -w」強制寫入磁碟檔案。

時間引數解析histtimeformat的引數有%f,%t,還有其它的引數可以用。

下面是例子,可以看到,以前的歷史記錄的時間都是一樣的,是啟動記錄時間的那個時間。

通過下面的命令檢視記錄的件數限制。

echo

$histfilesize

echo

$histsize

環境變數$histfilesize(檔案容納件數)預設值是2000件,$histsize(記憶體容納件數)預設值是1000件

這裡是ubuntu 18 的~/.bashrc使用者配置檔案裡面的設定內容,可以去確認一下。

# for setting history length see histsize and histfilesize in bash(1)

histsize=1000

histfilesize=2000

通過下面的方式可以立即修改這兩個值。永久修改建議開啟~/.bashrc檔案,修改或者增加相關值,並用source命令進行重新整理。

export histfilesize=5000

export histsize=2000

要對所有使用者起效,修改/etc/profile檔案並重新整理。

history n

history 5
輸出例子

10:03 mark@marklinux ~$ history 3

697 2020-02-25 09-40-45 history |grep -i sqlite3

698 2020-02-25 09-59-13 history 5

699 2020-02-25 10-03-24 history 3

!!可以再次執行最後乙個命令

!

!

輸出例子

10:04 mark@marklinux ~$ ls

gosrc nohup.out

10:04 mark@marklinux ~$ !!ls

gosrc nohup.out

!n
輸出例子

10:08 mark@marklinux ~$ history 5

701 2020-02-25 10-04-35 ls

702 2020-02-25 10-07-52 date

703 2020-02-25 10-08-01 ls

704 2020-02-25 10-08-32 nano ~/.bashrc

705 2020-02-25 10-08-51 history 5

10:08 mark@marklinux ~$ !702

date

tue feb 25 10:09:07 cst 2020

將記憶體中的內容強制寫入history檔案

history儲存過程的說明

1、當前session執行的命令,放置快取中,執行exit時,把快取資訊寫入~/.bash_history

2、當session直接被kill時(比如斷網,客戶端關機等),快取中的歷史命令不會寫入~/.bash_history

3、history -w 可以主動將記憶體中的內容寫入記錄檔案。

#強制寫入~/.bash_history。避免session超時導致記錄丟失。

history -w

#關閉shell連線,會把記憶體中的命令記錄到~/.bash_history檔案去

exit

參考1:17 bash history command examples in linux

參考2:history引數詳解

history命令歷史

history我不用多說了吧,這個命令就是看你在當前使用者下所有執行的命令歷史 預設命令歷史儲存為1000條 可用echo histsize檢視,系統使用者可以在 etc profile或者普通使用者.bash profile下修改引數 histsize 200000 隨你改 最後source et...

history命令詳解

linux下history命令主要用於顯示歷史指令記錄內容,下達歷史紀錄中的指令 history命令語法 www.linuxidc.com linux history n www.linuxidc.com linux history c www.linuxidc.com linux history ...

history歷史命令清除

歷史命令清除特定的命令 私人測試 1 建議不要在有審計桌面執行 2 建議在本地無審計監控桌面執行 重新登入後也是隨便用vim開啟乙個檔案,如vim var log messages 然後再用vim的分屏功能開啟.bash history set history 0 vsp bash history ...