我知道我有一天輸入了命令,但現在我無法使用history
或.bash_history找到它。任何想法爲什麼發生這種情況我懷疑它與在我的OS X終端中使用多個選項卡有關,並且不知何故歷史記錄不會在選項卡之間傳遞,但我不知道。OS X終端歷史丟失命令
回答
從OS X El Capitan 10.11開始,默認情況下,Bash被配置爲爲每個終端保存單獨的命令歷史記錄,因此它們可以分別恢復爲Resume。
當shell退出時,每個歷史記錄也會附加到〜/ .bash_history中的全局歷史記錄中。如果您退出終端然後重新打開終端 - 無論是否啓用了恢復 - 您應該會發現來自每個終端的命令都在〜/ .bash_history中。如果啓用了恢復功能,每個恢復的終端將只包含恢復的歷史記錄,但是當您創建新的終端時,它將以最新的全局歷史記錄開始。
因爲所有的命令歷史記錄被添加到全局的〜/ .bash_history文件中,您可能希望通過設置HISTFILESIZE
環境變量來增加存儲的命令的數量,以便最新的終端歷史記錄不會將其他終端歷史記錄的文件過早。默認值是500.我有我的設置爲10,000。我也將HISTSIZE
設置爲10,000,這樣我就可以瀏覽整個歷史(否則,只有最後的500個將從歷史文件中讀取)。
在OS X El Capitan 10.11及更高版本中,排列單獨命令歷史的腳本位於/etc/bashrc_Apple_Terminal
。它包含廣泛的評論,描述機制如何工作,以及如何定製或禁用它。
這一直髮生在我身上。我打開了多個命令窗口,歷史記錄按照它們關閉的順序保存。您正在查找的命令可能已被另一個命令窗口覆蓋。
我有我的終端這個問題。原來它保存在~/.bash_sessions
文件夾中新生成的文件中。這是管理在/etc/bashrc_Apple_Terminal
文件中概述的與El Capitan一起引入的bash會話的新方法的一部分。這得到echo $HISTFILE
的確認。要禁用此行爲,只需運行touch ~/.bash_sessions_disable
。然後退出終端應用程序並重新啓動它。現在應該正確保存歷史記錄,可以通過echo $HISTFILE
再次確認。我希望這有幫助!
- 1. OS X的終端命令
- 2. 搜索終端中的命令歷史
- 3. 備份mac osx終端命令歷史
- 4. 在OS X中的Python終端命令
- 5. Emacs shell:重啓後丟失的命令歷史記錄
- 6. 蘋果終端的歷史 - 過去的命令導致
- 7. 搜索並替換終端歷史記錄中的命令
- 8. Rpy2命令歷史
- 9. Rstudio命令歷史
- 10. 米拉的命令歷史?
- 11. 在OS X終端中使用命令的信息/結果
- 12. 在Mac OS X終端中使用命令作爲ctrl
- 13. 在Mac OS X命令行終端下使用sed
- 14. OS X終端命令解析別名的路徑
- 15. Mac OS X在按下箭頭之後,終端命令卡住
- 16. 如何在Mac OS X上反轉終端中的cd命令?
- 17. Windows命令行歷史
- 18. OS X運行時間歷史記錄
- 19. OS X終端顏色
- 20. 歷史命令沒有命令編號
- 21. 清除命令歷史
- 22. Shell歷史命令 - 功能
- 23. stdiodemo和命令歷史
- 24. 終端命令
- 25. OS X終端命令創建一個在當前日期命名的文件
- 26. SVN歷史在git中丟失
- 27. SVN墊底和歷史丟失
- 28. 丟失的RubyMine當地歷史
- 29. vmstat命令丟失
- 30. SugarCRM的6.4.4郵件客戶端引線歷史 - 細節丟失
有沒有辦法來防止這種情況?在csh中使用 – meisel 2014-12-08 17:11:48
(我使用的shell;實際上是tcsh)在退出shell時,有一個選項可以在命令歷史記錄中進行合併。它可以工作,但是如果你的歷史記錄中有10,000行,那麼它就會很慢。谷歌搜索,似乎有辦法讓bash也這樣做,但我不熟悉bash。 – Andras 2014-12-08 17:30:06