linux终端历史记录文件夹,如何通过命令行查看`.bash_history`文件?
問題描述
我想查看我的.bash_history文件的內容,但不知道如何通過命令行到達那里。
最佳解決辦法
如果您想訪問實際文件本身,只需使用您喜歡的文本編輯器(我使用emacs,但您可以使用gedit或vim或其他任何一種pluma):
emacs ~/.bash_history
這是您的歷史記錄文件的默認位置。如果您在那里找不到任何內容,則可能更改了歷史文件的名稱。它存儲在$HISTFILE變量中,因此將其打印出來以檢查其當前值:
echo $HISTFILE
如果您只想查看歷史記錄,而不是文件,則可以運行history作為@ minerz029建議。沒有選項的history命令只打印$HISTFILE的內容,然后打印當前shell中尚未寫入該文件的命令,并帶有行號。
次佳解決辦法
如果您確實需要.bash_history文件的輸出,請在下面的所有命令中將history替換為cat ~/.bash_history。
如果您確實需要前面沒有數字的命令,請使用此命令而不是history:
history | cut -d' ' -f 4-
否則,沒有區別(除非你使用不同的shell)。
最后15個命令
您可以使用
history | tail -n 15
只獲得歷史記錄的最后15行,最后一次執行打印(在底部)。
搜索命令
或者,使用
history | grep "apt-get" | tail -n 15
獲取包含apt-get的最后15個命令,最后執行的最后一個打印(在底部)。您可以將apt-get替換為您要搜索的任何命令(或命令參數)(它可以是正則表達式)。
滾動歷史記錄
您可以使用
history | tac | less
滾動查看從最頂層開始執行的所有命令。按q退出。
同樣,使用
history | grep "apt-get" | tac | less
滾動瀏覽所有使用“apt-get”執行的命令(包括參數),從最頂層開始。按q退出。
第三種解決辦法
除了minerz029的優秀答案。
重申一下 – ‘history’命令打印歷史記錄以及旁邊的數字。
您可以將歷史輸出傳遞給grep,less等。
歷史輸出也會在輸出旁邊的左側顯示一個數字。例如
469 free
470 ps -fA
471 ps -fA | grep xend
472 free
473 sudo vi /etc/xen/xend-config.sxp
474 cat /etc/default/grub
使用此編號,您可以使用re-run命令。
例如到re-run 473我會輸入終端
admin@xen1~$ !473
然后按回車鍵重復歷史輸出中473旁邊的命令。
您還可以通過鍵入ctrl + r鍵在命令歷史記錄中以交互方式向后搜索,然后開始鍵入命令的一些內容,它將搜索并填寫它。找到后,您可以輸入enter來重復它,或者按[tab]鍵將其復制到命令行以首先編輯命令。
當然,最后兩個選項在bash shell中起作用。我不確定這些功能是否適用于其他shell。但由于bash是Ubuntu的默認shell,你應該在那里找到它們。
參考資料
總結
以上是生活随笔為你收集整理的linux终端历史记录文件夹,如何通过命令行查看`.bash_history`文件?的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 输卵管发炎的症状
- 下一篇: 见过鱼流泪吗下一句是什么呢?
