您好,登錄后才能下訂單哦!
小編給大家分享一下Linux如何調整命令歷史,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
history是Linux中記錄你運行過的命令,其記憶的命令數量取決于在 ~/.bashrc 文件中。
查看你的命令歷史
要查看以前運行過的命令,你只需輸入 history。你可能會看到一長串命令。記憶的命令數量取決于在 ~/.bashrc 文件中設置的名為 $HISTSIZE 的環境變量,但是如果你想保存更多或更少的命令,你可以根據你的需要改變這個設置。
要查看歷史記錄,請使用 history 命令:
$ history
209 uname -v
210 date
211 man chage
… …
要查看將顯示的最大命令數量:
$ echo $HISTSIZE
500
你可以通過運行這樣的命令來改變 $HISTSIZE 并使之永久化:
$ export HISTSIZE=1000
$ echo “HISTSIZE=1000” >> ~/.bashrc
在為你保留多少歷史記錄和當你輸入 history 時顯示多少歷史記錄之間也有區別。$HISTSIZE 變量控制顯示多少歷史記錄,而 $HISTFILESIZE 變量控制在你的 .bash_history 文件中保留多少命令。
$ echo $HISTSIZE
1000
$ echo $HISTFILESIZE
2000
你可以通過計算歷史文件中的行數來驗證第二個變量:
$ wc -l .bash_history
2000 .bash_history
需要注意的是,在登錄會話中輸入的命令在注銷前不會被添加到你的 .bash_history 文件中,盡管它們會立即顯示在 history 命令輸出中。
使用歷史
有三種方法可以重發你在 history 中發現的命令。最簡單的方法,特別是當你想重用的命令是最近運行的時候,通常是輸入一個 ! 后面跟上命令中足夠多的首字母來唯一地識別它。
$ !u
uname -v
#37-Ubuntu SMP Thu Mar 26 20:41:27 UTC 2020
另一種簡單的重復命令的方法是,只需按上箭頭鍵,直到顯示了該命令,然后按回車鍵。
另外,如果你運行 history 命令,并看到你想重新運行的命令被列出,你可以輸入一個 ! 后面跟著命令左邊顯示的序號。
$ !209
uname -v
#37-Ubuntu SMP Thu Mar 26 20:41:27 UTC 2020
隱藏歷史
如果你想在一段時間內停止記錄命令,你可以使用這個命令:
$ set +o history
當你輸入 history 時,你輸入的命令不會顯示出來,當你退出會話或退出終端時,它們也不會被添加到你的 .bash_history 文件中。
要取消這個設置,使用 set -o history
要使它永久化,你可以把它添加到你的 .bashrc 文件中,盡管不使用命令歷史記錄通常不是一個好主意。
$ echo 'set +o history' >> ~/.bashrc
要暫時清除歷史記錄,這樣在輸入 history 時只顯示之后輸入的命令,可以使用 history -c(清除)命令:
$ history | tail -3
209 uname -v
210 date
211 man chage
$ history -c
$ history
1 history
注意:在輸入 history -c 后輸入的命令不會被添加到 .bash_history 文件中。
控制歷史
許多系統上的 history 命令的設置會默認包括一個名為 $HISTCONTROL 的變量,以確保即使你連續運行同一命令七次,也只會被記住一次。它還可以確保你在首先輸入一個或多個空格后跟著的命令將從你的命令歷史記錄中忽略。
$ grep HISTCONTROL .bashrc
HISTCONTROL=ignoreboth
ignoreboth 的意思是“忽略重復的命令和以空格開頭的命令”。例如,如果你輸入這些命令:
$ echo try this
$ date
$ date
$ date
$ pwd
$ history
你的 history 命令應該像這樣報告:
$ history
$ echo try this
$ date
$ history
請注意,連續的 date 命令被縮減為一條,以空格縮進的命令被省略。
忽略歷史
要忽略某些命令,使它們在你輸入 history 時不會出現,也不會被添加到你的 .bash_history 文件中,可以使用 $HISTIGNORE 設置。例如:
$ export HISTIGNORE=”history:cd:exit:ls:pwd:man”
這個設置將導致所有的 history、cd、exit、ls、pwd 和 man 命令從你的 history 命令的輸出和 .bash_history 文件中被忽略。
如果你想把這個設置變成永久性的,你必須把它添加到你的 .bashrc 文件中。
$ echo 'HISTIGNORE="history:cd:exit:ls:pwd:man"' >> .bashrc
這個設置只是意味著當你回看以前運行的命令時,列表不會被你在查看命令歷史記錄時不想看到的命令所干擾。
記住、忽略和忘記過去的命令
命令歷史記錄很有用,因為它可以幫助你記住最近使用過的命令,并提醒你最近所做的更改。它還可以讓你更容易地重新運行命令,特別是那些有一串參數但你不一定想重新創建的命令。定制你的歷史設置可以讓你對命令歷史的使用變得更容易,更有效率。
history這個命令存在一個問題,就是無法記錄命令執行時間,如果大家有興趣的話可以使用 ~/.bash_logout來進行history的記錄,并加上date來增加時間參數。
以上是“Linux如何調整命令歷史”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。