linux history文件清除,Linux 禁用 和 清空 history 记录

在linux 系统中,history 命令可以显示执行过的历史命令,历史命令默认保存在文件~/.bash_history中。

https://www.cndba.cn/dave/article/4086

如果是数据库服务器,采用的是非交互式的方式连接过数据库,那么history 中就会记录数据库的用户名和密码信息,所以对于数据库服务器,我们一般建议使用交互式登录,单独输入密码。 https://www.cndba.cn/dave/article/4086

https://www.cndba.cn/dave/article/4086

1 禁止记录历史命令

[root@@www.cndba.cn ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[root@@www.cndba.cn ~]# uname -r

2.6.32-696.el6.x86_64

[root@@www.cndba.cn ~]#

[root@@www.cndba.cn ~]# echo $HISTSIZE

3000

[root@@www.cndba.cn ~]#

[root@@www.cndba.cn ~]# echo $HISTFILESIZE

3000

[root@@www.cndba.cn ~]#

这2个参数区别:https://www.cndba.cn/dave/article/4086https://www.cndba.cn/dave/article/4086https://www.cndba.cn/dave/article/4086

HISTFILESIZE 定义了在 .bash_history 中保存命令的记录总数,即.bash_history文件中最多只有HISTFILESIZE行;

HISTSIZE 定义了 history 命令输出的记录数,即输出.bash_history文件中的最后HISTSIZE行。

https://www.cndba.cn/dave/article/4086https://www.cndba.cn/dave/article/4086

我们可以修改/etc/profile文件中修改2个参数来控制历史命令记录和输出。

[root@@www.cndba.cn ~]# echo "export HISTFILESIZE=0" >> /etc/profile

[root@@www.cndba.cn ~]# cat /etc/profile|grep HISTFILE

export HISTFILESIZE=0

[root@@www.cndba.cn ~]#

[root@@www.cndba.cn ~]# source /etc/profile

[root@@www.cndba.cn ~]# echo $HISTSIZE

3000

[root@@www.cndba.cn ~]# echo $HISTFILESIZE

0

[root@@www.cndba.cn ~]#

禁止记录后也会自动清空~/.bash_history的内容:

https://www.cndba.cn/dave/article/4086

[root@@www.cndba.cn ~]# cat ~/.bash_history

[root@@www.cndba.cn ~]#

2 手工清空~/.bash_history

执行如下命令即可:https://www.cndba.cn/dave/article/4086

[root@@www.cndba.cn ~]# history -c

[root@@www.cndba.cn ~]#

3 注意

bash执行命令时不是马上把命令名称写入history文件的,而是存放在内部的buffer中,等bash退出时会一并写入。 所以即使我们之前设置文件记录为0。 当前连接中还是可以执行history命令查看当前连接执行过的命令:

[root@@www.cndba.cn ~]# cat ~/.bash_history

[root@@www.cndba.cn ~]# history

1 2020-03-17 10:25:45 history

2 2020-03-17 10:26:06 cat ~/.bash_history

3 2020-03-17 10:28:21 cat ~/.bash_history

4 2020-03-17 10:28:24 history

[root@@www.cndba.cn ~]#

一旦会话重启,则不会记录到~/.bash_history,就是执行history命令也看不到之前的命令。

版权声明:本文为博主原创文章,未经博主允许不得转载。