有时候只想清除自己执行的一些历史命令,而不想清除整个系统的历史命令,而且也不想让别人看到自己有编辑过.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