«

删除history中指定某条记录

时间:2022-11-30 20:21     作者:admin     分类: Linux


前言

目前主流 unix 操作系统中默认的 shellbash,其次就是大家自己安装的 zsh。如果需要删除或清理所有的 history 命令对于常用这类系统的朋友来说并不陌生,那就是 history -cw 即可清除所有的历史操作命令,这个清除命令对于二者皆适用。

清除指定行历史操作命令

bash

bashshell 环境下,我们可以使用 history -d <line num> 来清除指定行。
比如先执行 history 查看需要清除的历史操作命令行标,然后再执行 history -d 3 即可清除第三行的历史操作记录。

zsh

看了网上大部分的回答还是和 bash 一样的操作,就是瞎扯!这也是我今天写这个的目的,小计一下,当个笔录。
因为 zshbash 是不一样的,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

版权所有:Mrxn's Blog
文章标题:删除history中指定某条记录
除非注明,文章均为 Mrxn's Blog 原创,请勿用于任何商业用途,转载请注明作者和出处 Mrxn's Blog

扫描二维码,在手机上阅读

推荐阅读: