[1140]linux查看历史命令history
一、什么是history
在bash功能中,它能記憶使用過的命令,這個(gè)功能最大的好處就是可以查詢?cè)?jīng)做過的舉動(dòng)!
從而可以知道你的運(yùn)行步驟,那么就可以追蹤你曾下達(dá)過的命令,以作為除錯(cuò)的工具!
二、History的保存
那么命令記錄在哪里呢?在home目錄內(nèi)的 .bash_history 里! 不過,需要留意的是,~/.bash_history 記錄的是前一次登陸以前所運(yùn)行過的命令,而至于這一次登陸所運(yùn)行的命令都被緩存在內(nèi)存中,當(dāng)你成功的注銷系統(tǒng)后,該命令記憶才會(huì)記錄到 .bash_history 當(dāng)中!
選項(xiàng)與參數(shù):
n :數(shù)字,意思是要列出最近的 n 條命令行表的意思;
-c :將目前的 shell 中的所有 history 內(nèi)容全部消除;
-a :將目前新增的 history 命令新增入 histfiles 中,若沒有加histfiles ,則默認(rèn)寫入 ~/.bash_history;
-r :將 histfiles 的內(nèi)容讀到目前這個(gè) shell 的 history 記憶中;
-w :將目前的 history 記憶內(nèi)容寫入 histfiles 中;
例,列出目前最近的 3 條數(shù)據(jù),代碼如下:
[root@jb51 Desktop]#history 3 1019 history 1020 history 1021 history 3例,立刻將目前的數(shù)據(jù)寫入 histfile 當(dāng)中,代碼如下:
[root@jb51 Desktop]#history -w # 在默認(rèn)的情況下,會(huì)將歷史紀(jì)錄寫入 ~/.bash_history 當(dāng)中! [root@jb51 Desktop]#echo $HISTSIZE 1000三、歷史使用的竅門
1、!的使用
- !!重復(fù)前一個(gè)命令
- ! num 按照history命令輸出中的序號(hào)來重復(fù)對(duì)應(yīng)命令
- ! ?abc 重復(fù)前一個(gè)包含abc的命令
- ! -n 重復(fù)n個(gè)命令之前的那個(gè)命令
2、按鍵組合
- 使用up和down鍵來上下瀏覽之前執(zhí)行的命令
- 鍵入ctr+r來在命令歷史中搜索命令
代碼如下:
[root@jb51 Desktop]# (reverse-i-search)`': (reverse-i-search)`h': cat /etc/shadow按回車鍵執(zhí)行該命令
- 要重新調(diào)用前一個(gè)命令中的參數(shù)
Esc + .(點(diǎn)擊Esc鍵,然后點(diǎn)擊.鍵)
1. 查詢歷史記錄
[root@zcwyou ~]# history2. 查看每條歷史命令執(zhí)行的時(shí)間
[root@zcwyou ~]# export HISTTIMEFORMAT='%F %T ' [root@zcwyou ~]# history3. 使用Ctrl+R搜索歷史命令
比如,曾經(jīng)執(zhí)行過這樣的命令
gzip -t 10M.txt.gz使用Ctrl+R后輸入10M,可以直接重新執(zhí)行該命令。如果要修改指令,可以使用方向鍵右鍵。
4. 重復(fù)執(zhí)行上一條命令
1.用方向鍵向上鍵查看上條命令,按回車執(zhí)行。
2.在命令行中輸入!!并按回車。
3.在命令行中輸入!-1并按回車。
4.按Ctrl+P顯示上條命令,按回車執(zhí)行。
5. 根據(jù)序號(hào)重復(fù)執(zhí)行某命令:
先查看序號(hào)
[root@zcwyou ~]# history看到輸出結(jié)果中的某命令:
683 2018-11-10 02:00:36 dd if=/dev/zero of=zcwyou.txt bs=1M count=15然后重復(fù)執(zhí)行該命令:
[root@zcwyou ~]# !6836. 查找以特定字開頭的歷史命令并執(zhí)行
比如曾經(jīng)執(zhí)行的命令:
du wordpress.tar.gz執(zhí)行以下命令即可重新執(zhí)行du開頭的歷史指令。
[root@zcwyou ~]# !du7. 修改歷史命令的保存數(shù)量
比如設(shè)置只能保存100條歷史記錄:
[root@zcwyou ~]# vi ~/.bash_profilelinux修改歷史命令的保存數(shù)量
修改以下兩行內(nèi)容:
HISTSIZE=100HISTFLESIZE=1008. 使用HISTCONTROL來清除命令歷史中的連續(xù)重復(fù)條目
比如連續(xù)三次輸入命令
ll9. 使用以下命令把多條連續(xù)重復(fù)的指令整合在一起:
[root@zcwyou ~]# export HISTCONTROL=ignoredups檢查:
historyCentOS系統(tǒng)默認(rèn)已經(jīng)開啟該功能。
10. 使用HISTCONTROL在整個(gè)歷史中去除重復(fù)命令
[root@zcwyou ~]# export HISTCONTROL=erasedups11. 清除歷史命令
使用選項(xiàng)-c
[root@zcwyou ~]# history -c12. 替換歷史命令中的內(nèi)容
比如,你查看了cp1.txt的內(nèi)容
[root@zcwyou ~]# cat cp1.txt然后想編輯它:
[root@zcwyou ~]# vi !!:$!!:$表示上一個(gè)指令的參數(shù)。
即等同于vi cp1.txt
如果同時(shí)有多個(gè)參數(shù)時(shí),可選擇參數(shù)次序
[root@zcwyou ~]# cp cp1.txt cp1.txt.bak [root@zcwyou ~]# vi !^等同于vi cp1.txt
!^表示第一個(gè)參數(shù)。
13. 禁用history記錄
HISTSIZE設(shè)置為0即可。
[root@zcwyou ~]# export HISTSIZE=014. 不記錄某些指令
比如:
不記錄pwd、ls、ls -ltr三個(gè)指令。
設(shè)置如下:
[root@zcwyou ~]# export HISTIGNORE=“pwd:ls:ls –ltr: ”參考:https://blog.csdn.net/weixin_39788451/article/details/110808824
https://www.yisu.com/zixun/421382.html
總結(jié)
以上是生活随笔為你收集整理的[1140]linux查看历史命令history的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 南通大学java期末_【Java爬虫】爬
- 下一篇: linux 其他常用命令