history命令


history命令

1. history的基礎

1.相關文件

  ~/.bash_history   該文件存儲已執行的命令
  /etc/profile   該文件存儲一些變量,本文中用來配置history,使history更易讀
文件位置 作用

2.history的理論常識

1. history的命令是實時的,即剛執行的命令,使用history就能查到

2. bash_history文件中存放的命令不是實時的,需要退出當前終端,或者執行 history -w命令

3. 同用戶多終端執行命令,history命令只顯示當前終端執行過的命令

4. 同用戶多終端執行命令,最先關閉的終端最先將命令寫入bash_history文件中,和命令執行先后順序無關

2. history的應用及場景

1. history 命令參數

參數 解釋
-a   命令將新增命令寫入historyfile
-w   將目前history寫入到historyfile
-r   將historyfile內容讀入shell history記憶中
-c   將目前shell history中命令消除(暫時,退出終端后恢復)
[number]   例:history 12 ; 執行歷史命令中的第12條命令
![number]   例:!12 ;執行歷史命令中的第12條命令

疑問:

1. 先執行 history -c 然后執行 history -w 有什么效果?

2. 先執行 history -c 然后執行 history -r 有什么效果?

3. 已知 history -c 參數只能暫時清除命令,那么如何永久清除history?

2. 應用前的環境配置

先配置一下環境能讓學習變得更加暢快

1. 記錄history執行時間,history 默認不記錄時間,記錄時間方便學習,也方便自查

 

vim /etc/profile ,在文件尾部添加

export HISTTIMEFORMAT="%y-%m-%d %H:%M:%S "

export HISTTIMEFORMAT="%F %T " # 兩個效果是一樣的

添加完成后,source /etc/profile 使改動生效。
(后引號前要加空格,不加空格會擠成一團,改動后,source一下/etc/profile文件)

2. 改動 history 能存儲的命令數量

編輯 /etc/profile 文件

vim /etc/profile

行尾加入
HISTSIZE=1000 # 一天一千行,來年禿頭亮

保存退出后,執行
source /etc/profile

3. 應用

1. 查看剛才做了哪些操作

history

2. 查看最后20行命令

history | tail -n 20

3. 查看開始20行命令

history | head -n 20

4. 查看刪除文件(rm)命令

histroy | grep rm

5. 清空執行命令的歷史

history -c;history -w

6. 執行命令歷史中,第20條命令

history 20 或者 !20

3. history的補充

來個奇技淫巧  ----  刪除特定命令不留下痕跡

1. vim隨便打開一個文件(建議是常用文件)
2. 設置vim 不記錄命令 :set history=0
3. 用vim的分屏功能:vsp ~/.bash_history
4. 恢復 :set history=20
遺憾的是,會留下 vim編輯常用文件的歷史


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM