溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux調(diào)整歷史命令的實(shí)現(xiàn)方法是什么

發(fā)布時(shí)間:2022-01-26 09:28:02 來(lái)源:億速云 閱讀:145 作者:kk 欄目:開發(fā)技術(shù)

小編今天帶大家了解Linux調(diào)整歷史命令的實(shí)現(xiàn)方法是什么,文中知識(shí)點(diǎn)介紹的非常詳細(xì)。覺得有幫助的朋友可以跟著小編一起瀏覽文章的內(nèi)容,希望能夠幫助更多想解決這個(gè)問題的朋友找到問題的答案,下面跟著小編一起深入學(xué)習(xí)“Linux調(diào)整歷史命令的實(shí)現(xiàn)方法是什么”的知識(shí)吧。

Linux系統(tǒng)中 history是一個(gè)非常有意思的命令,它可以記錄你執(zhí)行的Linux命令。

查看你的命令歷史

要查看以前運(yùn)行過的命令,你只需輸入 history。你可能會(huì)看到一長(zhǎng)串命令。記憶的命令數(shù)量取決于在 ~/.bashrc 文件中設(shè)置的名為 $HISTSIZE 的環(huán)境變量,但是如果你想保存更多或更少的命令,你可以根據(jù)你的需要改變這個(gè)設(shè)置。

要查看歷史記錄,請(qǐng)使用 history 命令:

$ history 209 uname -v 210 date 211 man chage … …

要查看將顯示的最大命令數(shù)量:

HISTSIZE 500

你可以通過運(yùn)行這樣的命令來(lái)改變 $HISTSIZE 并使之永久化:

echo “HISTSIZE=1000” >> ~/.bashrc

在為你保留多少歷史記錄和當(dāng)你輸入 history 時(shí)顯示多少歷史記錄之間也有區(qū)別。變量控制顯示多少歷史記錄,而HISTFILESIZE 變量控制在你的 .bash_history 文件中保留多少命令。

HISTSIZE 1000 HISTFILESIZE 2000

你可以通過計(jì)算歷史文件中的行數(shù)來(lái)驗(yàn)證第二個(gè)變量:

$ wc -l .bash_history 2000 .bash_history

需要注意的是,在登錄會(huì)話中輸入的命令在注銷前不會(huì)被添加到你的 .bash_history 文件中,盡管它們會(huì)立即顯示在 history 命令輸出中。

使用歷史

有三種方法可以重發(fā)你在 history 中發(fā)現(xiàn)的命令。最簡(jiǎn)單的方法,特別是當(dāng)你想重用的命令是最近運(yùn)行的時(shí)候,通常是輸入一個(gè) ! 后面跟上命令中足夠多的首字母來(lái)唯一地識(shí)別它。

$ !u uname -v #37-Ubuntu SMP Thu Mar 26 20:41:27 UTC 2020

另一種簡(jiǎn)單的重復(fù)命令的方法是,只需按上箭頭鍵,直到顯示了該命令,然后按回車鍵。

另外,如果你運(yùn)行 history 命令,并看到你想重新運(yùn)行的命令被列出,你可以輸入一個(gè) ! 后面跟著命令左邊顯示的序號(hào)。

$ !209 uname -v #37-Ubuntu SMP Thu Mar 26 20:41:27 UTC 2020

隱藏歷史

如果你想在一段時(shí)間內(nèi)停止記錄命令,你可以使用這個(gè)命令:

 $ set +o history

當(dāng)你輸入 history 時(shí),你輸入的命令不會(huì)顯示出來(lái),當(dāng)你退出會(huì)話或退出終端時(shí),它們也不會(huì)被添加到你的 .bash_history 文件中。

要取消這個(gè)設(shè)置,使用 set -o history

要使它永久化,你可以把它添加到你的 .bashrc 文件中,盡管不使用命令歷史記錄通常不是一個(gè)好主意。

 $ echo 'set +o history' >> ~/.bashrc

要暫時(shí)清除歷史記錄,這樣在輸入 history 時(shí)只顯示之后輸入的命令,可以使用 history -c(清除)命令:

history -c $ history 1 history

注意:在輸入 history -c 后輸入的命令不會(huì)被添加到 .bash_history 文件中。

控制歷史

許多系統(tǒng)上的 history 命令的設(shè)置會(huì)默認(rèn)包括一個(gè)名為 $HISTCONTROL 的變量,以確保即使你連續(xù)運(yùn)行同一命令七次,也只會(huì)被記住一次。它還可以確保你在首先輸入一個(gè)或多個(gè)空格后跟著的命令將從你的命令歷史記錄中忽略。

$ grep HISTCONTROL .bashrc HISTCONTROL=ignoreboth

ignoreboth 的意思是“忽略重復(fù)的命令和以空格開頭的命令”。例如,如果你輸入這些命令:

date date history

你的 history 命令應(yīng)該像這樣報(bào)告:

echo try this history

請(qǐng)注意,連續(xù)的 date 命令被縮減為一條,以空格縮進(jìn)的命令被省略。

忽略歷史

要忽略某些命令,使它們?cè)谀爿斎?history 時(shí)不會(huì)出現(xiàn),也不會(huì)被添加到你的 .bash_history 文件中,可以使用 $HISTIGNORE 設(shè)置。例如:

 $ export HISTIGNORE=”history:cd:exit:ls:pwd:man”

這個(gè)設(shè)置將導(dǎo)致所有的 history、cd、exit、ls、pwd 和 man 命令從你的 history 命令的輸出和 .bash_history 文件中被忽略。

如果你想把這個(gè)設(shè)置變成永久性的,你必須把它添加到你的 .bashrc 文件中。

 $ echo 'HISTIGNORE="history:cd:exit:ls:pwd:man"' >> .bashrc

這個(gè)設(shè)置只是意味著當(dāng)你回看以前運(yùn)行的命令時(shí),列表不會(huì)被你在查看命令歷史記錄時(shí)不想看到的命令所干擾。

記住、忽略和忘記過去的命令

什么是Linux系統(tǒng)

Linux是一種免費(fèi)使用和自由傳播的類UNIX操作系統(tǒng),是一個(gè)基于POSIX的多用戶、多任務(wù)、支持多線程和多CPU的操作系統(tǒng),使用Linux能運(yùn)行主要的Unix工具軟件、應(yīng)用程序和網(wǎng)絡(luò)協(xié)議。

感謝大家的閱讀,以上就是“Linux調(diào)整歷史命令的實(shí)現(xiàn)方法是什么”的全部?jī)?nèi)容了,學(xué)會(huì)的朋友趕緊操作起來(lái)吧。相信億速云小編一定會(huì)給大家?guī)?lái)更優(yōu)質(zhì)的文章。謝謝大家對(duì)億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI