來看看這幾個 Linux 命令行中使用 history 相關(guān)的技巧
1.使用 HISTTIMEFORMAT 顯示時間戳
當在命令行輸入history時,它將顯示序號和命令。出于審計目的,將時間戳與命令一起顯示可能會有所幫助。
[root@localhost?~]#?export?HISTTIMEFORMAT='%F?%T?'
[root@localhost?~]#?history?|?less

2. 使用Ctrl + r 搜索歷史記錄
當你已經(jīng)執(zhí)行了很長的命令時,可以簡單地使用關(guān)鍵字搜索歷史記錄并重新執(zhí)行同一命令,而不必完全鍵入它。按Ctrl + r 并鍵入關(guān)鍵字。在以下示例中,我搜索了wget,它在包含wget一詞的歷史記錄中顯示了先前的命令“ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo”。
#?當按下ctrl + r鍵,會出現(xiàn)下面狀態(tài)。
(reverse-i-search)`':?
#?然后輸入 wget ,后面會有命令過濾出匹配的歷史命令。如果顯示出來的是不想要的命令,可以繼續(xù)補充命令行。
(reverse-i-search)`wget?':?wget?-O?/etc/yum.repos.d/CentOS-Base.repo?http://mirrors.aliyun.com/repo/Centos-8.repo
當搜索出想要的命令行,可以按下?Enter回車鍵,就可執(zhí)行命令了。
過濾出匹配的歷史命令,想要更改參數(shù),可以按一下tab鍵、或者方向鍵,可以退出搜索模式來修改這條歷史命令,并執(zhí)行。
3.速重復上一個命令
可以使用!!兩個嘆號,執(zhí)行上一條命令。也可以使用!-1,執(zhí)行上一條命令。


4. 從history中執(zhí)行特定命令
可以使用!加數(shù)字,執(zhí)行history里面指定行號的命令。
[root@localhost?~]#?!4
ss?-tul
Netid?????State??????Recv-Q?????Send-Q?????????Local?Address:Port??????????Peer?Address:Port?????Process?????
udp???????UNCONN?????0??????????0??????????????????127.0.0.1:323????????????????0.0.0.0:*????????????????????
udp???????UNCONN?????0??????????0??????????????????????[::1]:323???????????????????[::]:*????????????????????
tcp???????LISTEN?????0??????????128??????????????????0.0.0.0:ssh????????????????0.0.0.0:*????????????????????
tcp???????LISTEN?????0??????????128?????????????????????[::]:ssh???????????????????[::]:*

5. 使用HISTSIZE控制歷史記錄中的總行數(shù)
默認情況下Centos8中,history存儲1000條歷史記錄。可以使用下面命令查看:
[root@localhost?~]#?echo?$HISTSIZE
1000
將以下兩行添加到.bash_profile,然后執(zhí)行source ~/.bash_profile即可生效。下面命令中,使history存儲歷史記錄少一些,只存儲200條。
[root@localhost?~]#?echo?"HISTSIZE=200"?>>?.bash_profile?
[root@localhost?~]#?echo?"HISFILETSIZE=200"?>>?.bash_profile?
[root@localhost?~]#?source?~/.bash_profile
其中HISTSIZE變量,控制history命令顯示的數(shù)量。
其中HISTFILESIZE變量,控制.bash_history文件中,歷史記錄的數(shù)量。
6. 更改歷史記錄文件名
默認情況下,歷史記錄的文件名叫.bash_history,可以使用HISTFILE變量更改它的文件名,可以將HISTFILE變量寫入~/.bash_profile文件中,以下示例:
[root@localhost?~]#?echo?"HISTFILE=/root/.cmd_hist"?>>?~/.bash_profile?
[root@localhost?~]#?reboot
添加完成之后,重啟操作系統(tǒng),可以看到新的歷史記錄文件已經(jīng)可以存儲歷史記錄了。

7. 清除歷史記錄
使用-c選項清除歷史記錄:
[root@localhost?~]#?history?-c

8.禁用歷史記錄
如果你想全部禁用歷史記錄,則將HISTSIZE和HISTFILESIZE設(shè)置為0,如下所示。
[root@localhost?~]#?echo?"HISTSIZE=0"?>>?.bash_profile?
[root@localhost?~]#?echo?"HISFILETSIZE=0"?>>?.bash_profile?
[root@localhost?~]#?source?~/.bash_profile

推薦閱讀:
致 Linux 運維:當你的服務(wù)器被黑了,一定要看是不是犯了這 5 點錯誤
5T技術(shù)資源大放送!包括但不限于:C/C++,Linux,Python,Java,PHP,人工智能,單片機,樹莓派,等等。在公眾號內(nèi)回復「1024」,即可免費獲取!!


