CentOS7上使用history删除部分历史记录
使用history命令删除本次登录后做过的历史记录,但是保留原始的记录。
首先使用help history,命令查看帮助文档:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | [root@10 ~]# help history history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...] 显示或操纵历史列表。 带行号显示历史列表,将每个被修改的条目加上前缀 `*'。 参数 N 会仅列出最后的 N 个条目。 选项: -c 删除所有条目从而清空历史列表。 -d 偏移量 从指定位置删除历史列表。 -a 将当前绘画的历史行追加到历史文件中 -n 从历史文件中读取所有未被读取的行 -r 读取历史文件并将内容追加到历史列表中 中 -w 将当前历史写入到历史文件中 并追加到历史列表中 -p 对每一个 ARG 参数展开历史并显示结果 而不存储到历史列表中 -s 以单条记录追加 ARG 到历史列表中 如果给定了 FILENAME 文件名,则它将被作为历史文件。否则 如果 $HISTFILE 变量有值的话使用之,不然使用 ~/.bash_history 文件。 如果 $HISTTIMEFORMAT 变量被设定并且不为空,它的值会被用于 strftime(3) 的格式字符串来打印与每一个显示的历史条目想关联的时 间戳,否则不打印时间戳。 退出状态: 返回成功,除非使用了无效的选项或者发生错误。 |
清空历史记录
通常使用history -c可以清除掉缓存,但是由于使用不同的用户登录,会在不同的用户目录中创建~/.bash_history文件,所以要想彻底删除,还需要将.bash_history中的内容清空。
一键命令:
history -c && >~/.bash_history
删除某一条历史记录
如果只是想要删除某一条历史记录,可以使用history -d 第几条命令,在帮助文档中也有说明。
删除当前会话执行命令的记录
由于登录后,history命令都会保存在内存中,前操作的其实都是存在在内存中的历史记录缓存。在使用history命令后,会将当前操作写入~/.bash_history文件,然后打印出来。如果没有执行history命令的话,直接使用history -r,会将文件中的历史记录在此刷入缓存,那么之前操作的记录就不会保存了。
随意更新历史记录
如果已经使用history或者history -a将历史记录写入~/.bash_history文件的话,那么直接操作~/.bash_history文件就可以直接修改历史记录了。可以改成任意的样子。
修改完成后,执行:
history -c清空当前会话中的历史记录缓存
history -r读取~/.bash_history文件中的历史记录到缓存中
可以看到已经更新了。
有一条命令可以一键执行:
sed -i 'n,1000d' -i ~/.bash_history && history -c && history -r
其中,n为从哪一条开始删除,命令可以打印出更新后的.bash_history文件内容。
————————————————
版权声明:本文为CSDN博主「stpice」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/stpice/article/details/103754597
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!