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