删除history中指定某条记录
时间:2022-11-30 20:21 作者:admin 分类: Linux
前言
目前主流 unix
操作系统中默认的 shell 为 bash
,其次就是大家自己安装的 zsh
。如果需要删除或清理所有的 history
命令对于常用这类系统的朋友来说并不陌生,那就是 history -cw
即可清除所有的历史操作命令,这个清除命令对于二者皆适用。
清除指定行历史操作命令
bash
在 bash
的 shell 环境下,我们可以使用 history -d <line num>
来清除指定行。
比如先执行 history
查看需要清除的历史操作命令行标,然后再执行 history -d 3
即可清除第三行的历史操作记录。
zsh
看了网上大部分的回答还是和 bash
一样的操作,就是瞎扯!这也是我今天写这个的目的,小计一下,当个笔录。
因为 zsh
和 bash
是不一样的,zsh
的历史操作记录,默认位置在 $HOME/.zsh_history
文件里,我们需要编辑它,在编辑状态下删除指定行即可。
比如 vim $HOME/.zsh_history
进入编辑状态,然后通过 /
命令搜索你想要删除的历史命令部分,比如 /clear
即可跳转到包含 clear
的第一个匹配位置,(这些都是 vim
的操作命令,可自行在网上查阅其余详细用法)然后用 d
键删除(按一次删除一行),然后输入 :x
回车保存即可,然后关闭当前 shell 窗口再新开一个窗口再次使用 history
即可看见指定删除的行已经被删除了(重要)。
参考
https://unix.stackexchange.com/questions/49214/how-to-remove-a-single-line-from-history
标签: shell
推荐阅读: