history 命令構建器
顯示或處理 shell 命令歷史記錄
開始使用歷史記錄功能
## 什麼是歷史記錄?
`history`指令用於顯示及操作Shell的命令歷史記錄——也就是你在目前(及過去的)工作階段中執行的命令所組成的編號清單。你可以檢視最近的命令、重新執行它們、刪除特定記錄,或是將記憶體中的清單與歷史檔案同步。
## 使用方式
1. **顯示最近的命令**:若將選項留空,則會列出完整的歷史記錄;若設定偏移量(例如`20`),則僅顯示最後N個記錄。 2. **選擇操作**:清除清單(`-c`)、刪除某個記錄(`-d`),或讀取/寫入歷史檔案(`-a`、`-w`、`-r`、`-n`)。 3. **複製並執行**:將生成的命令貼上到你的終端機中。
常見選項
### 過濾位置(偏移量)
傳入數字即可僅顯示最後 N 個記錄:`history 20`。
### `-c` 刪除全部
刪除記憶體中的所有歷史記錄清單。注意:除非接著使用 `history -w`,否則不會刪除歷史記錄檔案。
### `-d offset` 刪除單一記錄
根據歷史記錄的行號移除某個記錄:`history -d 10`。
### `-a` 追加
將目前會話中尚未被寫入的新的歷史記錄行追加到歷史記錄檔案中。
### `-w` 寫入
以目前的記憶體中的清單覆寫歷史記錄檔案——這對於保留 `-c` 刪除後的內容很有用。
### `-r` 讀取
讀取歷史記錄檔案,並將其內容追加到記憶體中的清單中。
### `-n` 讀取尚未讀取的記錄
僅讀取自上次讀取之後,由其他會話追加到歷史記錄檔案中的記錄行。
▶我要如何永久清除我的指令歷史記錄?
執行 \`history -c && history -w\`。\`-c\` 會清除記憶體中的列表,而 \`-w\` 則會將現在已空的列表寫入歷史檔案(通常為 \`~/.bash_history\`)。
▶要如何在不重新輸入的情況下,再次執行之前的命令?
請使用 \`!N\`,其中 N 為 \`history\` 所顯示的歷史指令編號;若要重複上一個指令,可使用 \`!!\`;若要重複以該前綴開頭的最新指令(例如 \`!git\`),則可使用 \`!prefix\`。
▶我要如何從歷史記錄中刪除一個錯誤的指令?
使用 \`history\` 找到其編號,然後執行 \`history -d N\` 以從記憶體中的清單中移除該項目。若要讓更改持久化,請接著執行 \`history -w\`。
如果这个工具对你有帮助,请考虑请我喝杯咖啡。
請幫我買杯咖啡吧。