有时候在系统中做了任何操作,但不想被别人知道,毕竟系统别人都可以登入查看,那怎么把自己操作系统的历史命令删除而不让别人知晓呢?
在linux系统里一旦操作了任何命令,都会被记录下来,可以通过history命令来查看历史命令,查看手册可知history -c 便是清除历史命令,但是重新进入系统查看历史命令时,历史信息依然会存在,那么history -c 只是清除当前shell的历史纪录,因为系统一般会把信息保存在一个文件中,只要文件中内容没有改变,那么信息也不会变。linux中存放历史命令的文件是.bash_history,清空该文件(echo > /root/.bash_history),那些历史命令就会被清空了。
注意如果是在shell脚本中调用history -c清空当前shell的历史命令,是不会成功的,因为bash执行命令时默认是会产生一个子进程来执行该命令,在子进程中执行history -c不是清除你当前shell的历史命令了。可以使用source来执行脚本(source ./脚本),source 指在当前bash环境下执行命令