來看看這幾個Linux命令行中使用history相關(guān)的技巧
當(dāng)你頻繁使用Linux命令行時,有效地使用歷史記錄可以大大提高生產(chǎn)力。今天我們來介紹一下Linux命令行中使用history相關(guān)的幾個技巧。
1.使用 HISTTIMEFORMAT 顯示時間戳
當(dāng)在命令行輸入history時,它將顯示序號和命令。出于審計目的,將時間戳與命令一起顯示可能會有所幫助。
- [root@localhost ~]# export HISTTIMEFORMAT='%F %T '
- [root@localhost ~]# history | less
2. 使用Ctrl + r 搜索歷史記錄
當(dāng)你已經(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”。
- # 當(dāng)按下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
當(dāng)搜索出想要的命令行,可以按下 Enter回車鍵,就可執(zhí)行命令了。
過濾出匹配的歷史命令,想要更改參數(shù),可以按一下tab鍵、或者方向鍵,可以退出搜索模式來修改這條歷史命令,并執(zhí)行。
3.速重復(fù)上一個命令
可以使用!!兩個嘆號,執(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ù)
默認(rèn)情況下Centos8中,history存儲1000條歷史記錄??梢允褂孟旅婷畈榭矗?nbsp;
- [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. 更改歷史記錄文件名
默認(rèn)情況下,歷史記錄的文件名叫.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