bash魔法堂:History用法詳解

weixin_33866037發表於2017-09-18

來自:http://www.cnblogs.com/fsjohnhuang/p/4753904.html^_^肥仔John

Brief

又要敲那條長到沒朋友的命令了,真心不再愛了。。。

有了history這條命令我想大家可以再愛一次了吧!

>history

語法:history [n | -c | -raw histfile]

n —— 數字,用於表示羅列最近的n筆命令

-c —— 表示清除history中的所有內容(實質上是清理$HISTFILE中儲存的內容)

-a —— 表示將當前會話的自上次執行history -a histfile命令後執行所有命令儲存到hisfile檔案中,若histfile預設值為$HISTFILE變數指向的檔案(~/.bash_history)

-r —— 表示從histfile讀取內容到當前會話的history

-w —— 表示將目前的hitory內容寫入histfile中

How 2 execute the command show by "history"

M1.!n

n為數字,表示執行history中指定編號的命令

M2.!cmd

cmd為命令的部分字串,從最近往最遠開始匹配以該字串開頭的首條命令並執行

M3.!!或!-1或Ctrl + p

!和-1表示獲取最近一條命令,並執行。(Ctrl + p為快捷鍵)

M4.!?string?或Ctrl + r

string為命令的部分字串。從最近往最遠開始匹配含字串的首條命令並執行(Ctrl + r為快捷將)

M5.fc n

n為數字,表示執行history中指定編號的命令。但此時會開啟一個文字編輯器並顯示該條命令,我們可以修改該命令,然後退出編輯器時則會執行修改後的命令。

M6.^replacedString^newString或!:s/replacedString/newString

將上一條命令的replacedString內容替換為newString內容後執行新命令

> ps -ef|grep httpd> ^httpd^grep

M7.!!&

在執行上一條命令後再執行另一條命令

Fetch Args from History Commnad

!^獲取上一條命令的第一個引數。

!$獲取上一條命令的最後一個引數。

!:n獲取上一條命令的第n個引數,n從1開始。(為0時則挑選出命令名稱)

!:n-x獲取上一條命令的第n個引數到第x個引數,n和x均從1開始。(為0時則挑選出命令名稱)

!*獲取上一條命令的所有引數。

!n*n為數字,獲取上一條命令的從第n個引數(含第n個引數)後的所有引數。

!n-n為數字,獲取上一條命令的從第n個引數(含第n個引數)後的除了最後一個引數外的所有引數。

Configurations begin with "HIST"

HISTTIMEFORMAT

用於設定history命令的輸出格式。

>export HISTTIMEFORMAT='%F %T'

HISTSIZE

用於控制命令歷史記錄的總條目數。(當設定為0時則為禁用命令歷史記錄功能)

>export HISTSIZE=0

HISTFILE

用於設定命令歷史的儲存位置,預設儲存在~/.bash_history檔案中。

>export HISTFILE=~/.cmd_history

HISTCONTROL

剔除連續重複的命令歷史條目:>export HISTCONTROL=ignoredups

清理所有重複的命令歷史條目:>export HISTCONTROL=erasedups

不記錄以空格開頭的記錄:>export HISTCONTROL=ignorespace

HISTIGNORE

用於設定某些命令將不被儲存到歷史記錄中

>export HISTIGNORE='pwd:ls:ls -ltr:'

上述表示pwd,ls和ls -ltr將不被儲存。

注意:上述環境變數均僅對當前會話有效,當退出會話後將失效。若要所有會話均有效則需要將設定寫入~/.bash_profile檔案中。

Conclusion

通過man 3 history我們可以瞭解history更多酷炫的玩法!

尊重原創,轉載請註明來自:http://www.cnblogs.com/fsjohnhuang/p/4753904.html^_^肥仔John

Thanks

http://blog.sina.com.cn/s/blog_5caa94a00100gyls.html

http://blog.csdn.net/yorkingalan/article/details/7166583

如果您覺得本文的內容有趣就掃一下吧!捐贈互勉!

相關文章