您好,登錄后才能下訂單哦!
小編給大家分享一下linux中如何讓Bash命令歷史更加有用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
告訴 Bash 你想要它記住什么,甚至刪除不需要的記錄重寫歷史。
運行 Bash 的 Linux 終端有內置的歷史記錄,你可以用來跟蹤最近的操作。要查看你的 Bash 會話的歷史記錄,請使用內置命令 history:
$ echo "foo" foo $ echo "bar" bar $ history 1 echo "foo" 2 echo "bar" 3 history
與大多數命令不一樣,history 命令不是文件系統上的可執行文件,而是 Bash 的功能。你可以使用 type 命令來驗證:
$ type history history is a shell builtin
shell 歷史記錄的行數上限由 HISTSIZE 變量定義。你可以在 .bashrc 文件中設置此變量。以下將你的歷史記錄設置為 3,000 行,之后將最早的行刪除以為最新命令騰出空間,該命令位于列表的底部:
export HISTSIZE=3000
還有其他與歷史相關的變量。 HISTCONTROL 變量控制哪些歷史被記錄。你可以在 .bashrc 中寫入下面的行來強制 Bash 排除以空格開頭的命令:
export HISTCONTROL=$HISTCONTROL:ignorespace
現在,如果你輸入以空格開頭的命令,那么它將不會記錄在歷史記錄中:
$ echo "hello" $ mysql -u bogus -h badpassword123 mydatabase $ echo "world" $ history 1 echo "hello" 2 echo "world" 3 history
你也可以避免重復的條目:
export HISTCONTROL=$HISTCONTROL:ignoredups
現在,如果你一個接著一個輸入兩個命令,歷史記錄中只會顯示一個:
$ ls $ ls $ ls $ history 1 ls 2 history
如果你喜歡這兩個忽略功能,那么可以使用 ignoreboth:
export HISTCONTROL=$HISTCONTROL:ignoreboth
有時你會犯一個錯誤,在 shell 中輸入了一些敏感內容,或者你只是想清理歷史記錄,以便它更準確地表示讓某件事正常工作所采取的步驟。如果要從 Bash 的歷史記錄中刪除命令,請在要刪除的項目的行號上使用 -d 選項:
$ echo "foo" foo $ echo "bar" bar $ history | tail 535 echo "foo" 536 echo "bar" 537 history | tail $ history -d 536 $ history | tail 535 echo "foo" 536 history | tail 537 history -d 536 538 history | tail
要停止添加 history 條目,只要在 HISTCONTROL 環境變量中有 ignorespace,就可以在命令前添加空格:
$ history | tail 535 echo "foo" 536 echo "bar" $ history -d 536 $ history | tail 535 echo "foo"
你可以使用 -c 選項清除所有會話歷史記錄:
$ history -c $ history $
操縱歷史通常沒有聽起來那么危險,尤其是當你有目標地管理它時。例如,如果你要記錄一個復雜的問題,通常最好使用會話歷史來記錄命令,因為通過將命令插入歷史記錄,你能運行它們并從而測試過程。很多時候,不執行歷史命令會導致忽略小的步驟或寫錯小細節。
按需使用歷史會話,并明智地控制歷史記錄。
以上是“linux中如何讓Bash命令歷史更加有用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。