bec*_*cko 9 command-line bash bash-history
我知道Ctrl+R让您搜索命令历史记录,但这有点原始。有没有办法将我的所有命令历史记录(不仅仅是当前的终端会话,而是完整的历史记录)导出到文本文件中?然后我可以使用文本编辑器轻松地搜索它。或者如果历史文件已经存在,它在哪里?
hee*_*ayl 14
来自man bash
:
HISTFILE
The name of the file in which command history is saved.
The default value is ~/.bash_history.
If unset, the command history is not saved when a shell exits.
Run Code Online (Sandbox Code Playgroud)
因此,该变量HISTFILE
将包含保存历史记录的文件名。
$ echo "$HISTFILE"
/home/user/.bash_history
Run Code Online (Sandbox Code Playgroud)
您现在可以搜索模式:
$ grep "vim" "$HISTFILE"
vim foo.text
vim bar.text
vim file.txt
Run Code Online (Sandbox Code Playgroud)
正如@Dennis 指出的那样,如果您愿意,可以运行history -a
将正在运行的会话的命令历史记录附加到$HISTFILE
文件中。基本上,一旦您关闭会话,这些命令将自动附加,history -a
并会立即执行相同的操作。
运行help history
以获得更多关于history
内置本身的想法。