在linux系統中,用戶的操作指令會被保存下來,具體存儲在用戶目錄下的.bash_history文件中。每個指令都帶有時間戳,標記其執行時間。
當用戶通過Shell進入Linux系統時,系統首先會將.bash_history文件中的歷史指令加載到歷史記錄緩存區中。在用戶正常退出Shell之前,所有執行的指令都會被記錄在緩存區中。只有在用戶正常退出Shell(例如通過exit命令或使用Ctrl+D)時,Shell進程才會將緩存區中的歷史記錄寫入到.bash_history文件中。
要查看歷史記錄緩存區中的指令,可以使用以下命令:
history #查看歷史記錄緩存區中保存的歷史指令
歷史記錄可以從最開始到現在的所有時間段內查看。
用戶可以通過鍵盤的上下箭頭鍵快速瀏覽歷史緩存區中的指令。
如果只想查看最近的n條歷史指令,可以使用以下命令:
history n #查看緩沖區中最近的n條歷史指令
如果用戶執行了幾條指令,例如兩次ls和ll,這些指令會首先記錄在歷史緩存區中。
檢查.bash_history文件時,用戶會發現這些新指令尚未寫入,因為它們仍在歷史緩存區中,只有在退出Shell時才會自動保存到.bash_history。
如果希望手動將歷史緩存區的內容寫入.bash_history,可以使用以下命令:
history -w #手動將歷史緩存寫入用戶目錄下的.bash_history
通常,只有在Shell正常退出時,緩存區的內容才會保存到.bash_history。如果需要主動保存歷史記錄,可以使用-w選項。
要清除歷史緩存區中的記錄,可以使用以下命令:
history -c #清除歷史緩沖區
清除歷史緩存區只會刪除當前會話中的操作記錄,不會影響.bash_history文件中已保存的之前的歷史記錄。
要重復執行歷史緩存區中的某條指令,可以使用以下命令:
!n #重復執行緩沖區中的第n條歷史指令
如果要重復執行倒數第n條指令,可以使用:
!-n #重復執行緩沖區中倒數第n行歷史指令
要重復執行上一條指令,可以使用:
!! #重復執行上一條命令
搜索歷史命令時,可以使用以下快捷鍵:
快捷鍵:Ctrl + R # 輸入殘缺指令,搜索對應完整歷史指令