Bash

如何從歷史記錄中刪除一行?

  • December 6, 2021

我在 Mac OSX 中工作,所以我想我正在使用 bash …?

有時我會輸入一些我不想在歷史中被記住的東西。如何刪除它?

預防措施

如果您想執行命令而不將其保存在歷史記錄中,請在其前面加上一個額外的空格

prompt$ echo saved
prompt$  echo not saved \
> #     ^ extra space

為此,您需要ignorespaceignorebothHISTCONTROL. 例如,執行

HISTCONTROL=ignorespace

要使此設置持久化,請將其放入您的.bashrc.

屍檢清理

如果您已經執行了該命令,並希望將其從歷史記錄中刪除,請首先使用

history

顯示歷史記錄中的命令列表。找到要刪除的數字旁邊的數字(例如 1234)並執行

history -d 1234

此外,如果您要刪除的行已經寫入您的 $ HISTFILE (which typically happens when you end a session by default), you will need to write back to $ HISTFILE,否則當您打開一個新會話時,該行將重新出現:

history -w

引用自:https://unix.stackexchange.com/questions/49214