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

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

测试的两种系统环境:

oracle linux 5.8
oracle linux 6.4

第一种情况:删除当前会话执行过的所有命令
在6.4系统中
history -c

在5.8系统中
history -r
这个系统版本如果直接执行history -c命令,会把.bash_history里的所有历史命令清除掉。

第二种情况:想删除指定历史命令

利用VIM特性删除历史命令:
重新登录后随便用vim打开一个文件
先设置vim不记录命令
再用vim的分屏功能打开.bash_history
:set history=0
:vsp ~/.bash_history

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

 

 

不要用来做坏事哦。



发表评论