不留痕迹的清除部分history历史命令记录

xiaoxiao2021-02-28  74

有时候只想清除自己执行的一些历史命令,而不想清除整个系统的历史命令,而且也不想让别人看到自己有编辑过.bash_history文件。

有的人会说直接使用history -c命令来清除。 这种方法不是不可以,不过要注意自己的系统版本。 有些系统版本是会把.bash_history里的所有历史命令清除掉的。

我测试的两种环境:

1 2 oracle linux 5.8  2.6.32-300.10.1.el5uek oracle linux 6.4  2.6.39-400.17.1.el6uek

在6.4系统中 如果想删除自己当前会话中执行过的历史命令就很简单了。 直接执行history -c命令 执行完history -c,如果没有退出当前会话,你执行history命令看不到任何命令了,不过你退出会话重新登录一下,再执行history命令,会发现除了上一次会话执行过的命令外,其它以前的命令都在。 如果退出会话后,再想删除自己的执行过的命令,就需要用下面的方法了。

在5.8系统中 如果直接执行history -c命令,就会把.bash_history里的所有历史命令清除掉,这不是我们想看到的。

这里分享几个隐藏自己执行命令的两个小技巧:

第一种方法: 在退出会话前直接执行: #history -r 清除当前会话的命令历史记录

第二种方法: 在vim中执行自己不想让别人看到的命令 随便用vim打开一个文件 :set history=0 :!command

第三种方法: 是执行完命令后已经退出了会话,再想删除不想让别人看到的命令。 这个操作要退出当前会话,再重新登录后再操作。

重新登录后也是随便用vim打开一个文件 然后再用vim的分屏功能打开.bash_history :set history=0 :vsp ~/.bash_history

然后就可以在里面编辑.bash_history删除历史命令了。 弄完可以再把vim的历史命令记录调回去。 :set history=20

 

不要用来做坏事哦。

PS.生产环境中,能用oracle linux 6及以上的版本尽量用6以上的版本,6以下的版本有很多坑,很多东西不完善。

转载请注明原文地址: https://www.6miu.com/read-85744.html

最新回复(0)