在 Linux 上調整命令歷史
導讀:在 Linux 系統上,bash shell 的 history 命令可以方便地回顧和重用命令,但是你要控制它記住多少,忘記多少,有很多事情要做。
本文字數:3159,閱讀時長大約:4分鐘
https://linux.cn/article-12596-1.html
作者:Sandra Henry-stocker
譯者:Xingyu.Wang
Linux 系統中的 bashhistory命令有助於記住你以前運行過的命令,並重複這些命令,而不必重新輸入。
如果可以的話,你肯定會很高興不用翻閱十幾頁的手冊,每過一會再次列出你的文件,而是通過輸入history查看以前運行的命令。在這篇文章中,我們將探討如何讓history命令記住你希望它記住的內容,並忘記那些可能沒有什麼「歷史價值」的命令。
查看你的命令歷史
要查看以前運行過的命令,你只需輸入history。你可能會看到一長串命令。記憶的命令數量取決於在??文件中設置的名為??的環境變數,但是如果你想保存更多或更少的命令,你可以根據你的需要改變這個設置。
要查看歷史記錄,請使用history命令:
要查看將顯示的最大命令數量:
你可以通過運行這樣的命令來改變??並使之永久化:
在為你保留多少歷史記錄和當你輸入history時顯示多少歷史記錄之間也有區別。?變數控制顯示多少歷史記錄,而??變數控制在你的??文件中保留多少命令。
你可以通過計算歷史文件中的行數來驗證第二個變數:
需要注意的是,在登錄會話中輸入的命令在註銷前不會被添加到你的??文件中,儘管它們會立即顯示在history命令輸出中。
使用歷史
有三種方法可以重發你在history中發現的命令。最簡單的方法,特別是當你想重用的命令是最近運行的時候,通常是輸入一個??後面跟上命令中足夠多的首字母來唯一地識別它。
另一種簡單的重複命令的方法是,只需按上箭頭鍵,直到顯示了該命令,然後按回車鍵。
另外,如果你運行history命令,並看到你想重新運行的命令被列出,你可以輸入一個??後面跟著命令左邊顯示的序號。
隱藏歷史
如果你想在一段時間內停止記錄命令,你可以使用這個命令:
當你輸入history時,你輸入的命令不會顯示出來,當你退出會話或退出終端時,它們也不會被添加到你的??文件中。
要取消這個設置,使用?。
要使它永久化,你可以把它添加到你的??文件中,儘管不使用命令歷史記錄通常不是一個好主意。
要暫時清除歷史記錄,這樣在輸入history時只顯示之後輸入的命令,可以使用history -c(清除)命令:
注意:在輸入history -c後輸入的命令不會被添加到??文件中。
控制歷史
許多系統上的history命令的設置會默認包括一個名為??的變數,以確保即使你連續運行同一命令七次,也只會被記住一次。它還可以確保你在首先輸入一個或多個空格後跟著的命令將從你的命令歷史記錄中忽略。
的意思是「忽略重複的命令和以空格開頭的命令」。例如,如果你輸入這些命令:
你的history命令應該像這樣報告:
請注意,連續的date命令被縮減為一條,以空格縮進的命令被省略。
忽略歷史
要忽略某些命令,使它們在你輸入history時不會出現,也不會被添加到你的??文件中,可以使用??設置。例如:
這個設置將導致所有的history、、、、?和??命令從你的history命令的輸出和??文件中被忽略。
如果你想把這個設置變成永久性的,你必須把它添加到你的??文件中。
這個設置只是意味著當你回看以前運行的命令時,列表不會被你在查看命令歷史記錄時不想看到的命令所干擾。
記住、忽略和忘記過去的命令
命令歷史記錄很有用,因為它可以幫助你記住最近使用過的命令,並提醒你最近所做的更改。它還可以讓你更容易地重新運行命令,特別是那些有一串參數但你不一定想重新創建的命令。定製你的歷史設置可以讓你對命令歷史的使用變得更容易,更有效率。
via:https://www.networkworld.com/article/3537214/tweaking-history-on-linux.html
作者:Sandra Henry-Stocker選題:lujun9972譯者:wxy校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出
※新聞拍一拍#微軟:為什麼你不能卸載我們的 Edge 瀏覽器?
※很快你就能在 Linux Mint 上將任何網站轉化為桌面應用程序了