首頁 > 套件與系統管理 > history

history 命令指南:查詢和管理 Shell 命令歷史

`history` 命令顯示用戶之前在終端執行的命令列表(歷史)。這在快速找到過去使用的命令並重新執行,或記住執行過哪些操作時非常有用。通過本指南了解 `history` 命令的基本用法以及管理歷史所需的各種選項。

history 概述

每當用戶在終端輸入命令時,該命令都會記錄到歷史文件中(通常是 `~/.bash_history` 或 `~/.zsh_history`)。`history` 命令會讀取該文件的內容並顯示在屏幕上,並且歷史在 Shell 會話結束後仍然會被保存。

history 的主要角色

`history` 命令主要用於以下目的:

主要應用領域

  • 命令重執行: 可以輕鬆地重新執行之前使用的長命令,而無需再次輸入。
  • 工作追蹤: 幫助確認過去執行了哪些操作,並了解工作流程。
  • 提高生產力: 快速找到經常使用的命令,節省輸入時間。
  • 編寫腳本的參考: 利用過去成功執行的命令組合來編寫腳本。

環境變數和 history

歷史功能受到一些環境變數的影響:

主要相關環境變數

  • `HISTSIZE`: 在內存中保存的最大命令歷史數量。保持在當前 Shell 會話期間。
  • `HISTFILESIZE`: 在歷史文件(如 `~/.bash_history`)中保存的最大命令歷史數量。跨 Shell 會話保留。
  • `HISTFILE`: 指定命令歷史保存的文件路徑。默認為 `~/.bash_history`。
  • `HISTCONTROL`: 控制歷史記錄的方式。(例如:`ignoredups` - 忽略重複命令,`ignorespace` - 忽略以空格開頭的命令)

主要 history 命令選項

`history` 命令提供了查詢、修改和管理歷史列表所需的各種選項。

1. 查詢和輸出歷史

2. 修改和重新執行歷史

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`history` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用示例

通過 `history` 命令的各種應用示例,學習如何有效查詢和重用命令歷史。

查詢最近 20 條命令

history 20

輸出最近執行的 20 條命令列表及其編號。

在命令歷史中搜索特定字符串

history | grep docker

使用 `grep` 命令查找 `history` 歷史中包含 'docker' 的命令。

重新執行上次 `ls` 命令

!ls

查找最近執行的以 `ls` 開頭的命令並重新執行。

重用最後一個命令的最後一個參數

cat /var/log/syslog
less !$

在執行 `cat /var/log/syslog` 後,想要使用 `less` 命令重新打開 `/var/log/syslog` 時非常有用。

立即將當前 Shell 歷史保存到文件

history -w

在關閉 Shell 前,立即將當前會話中執行的所有命令保存到 `~/.bash_history` 文件中。

刪除特定歷史編號

history -d 125

使用 `history` 命令確認後,刪除編號為 125 的命令。(注意:刪除後無法恢復)


相同類別命令