有时候只想清除自己执行的一些历史命令,而不想清除整个系统的历史命令,而且也不想让别人看到自己有编辑过.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以下的版本有很多坑,很多东西不完善。
