linux修改history记录数

在linux系统下、history命令会保存多少条命令呢?曾在一本书上说,如果注销系统,那么会将所有的历史命令都定入到~/.bash_history,

但只保留1000条命令(这个是由默认的shell变量所设置了的)但是为什么我们执行history命令后会出现大于1000条的历史记录呢,

其实当我们仔细一看只是序列大于1000、记录的条数还是1000条。

在此我是这样理解的:

1、~/.bash_histroy里面是记录的上次注销前的历史记录(最大保存1000条,且是上次注销前最近的1000条记录

2、执行history命令,会显示~/.bash_history里的记录加上当前shell所执行记录。且也是只显示1000条记录、如重新登录后、执行ls命令后、再使用history查看、

会显示.bash_history里的+ls和history这两条。如果~/.bash_history里有1000条、则显示后998+lshistory这两条命令。

3、我们可以修改history的历史保留命令的条数;可以查看history的默认保留条数 echo $HISTSIZE 一般默认是1000条如下图所示:

如果为了安全我们只需要保留200条,怎么办呢?我们可以临时修改最大保留条数:HISTSIZE=200 这样就修改成了200条啦,但是重启服务器后,又还原了。

如果想一直保留200条,我们需要在/etc/profile修改他的环境变量;可以使用vim编辑(推荐使用vim编辑),也可以使用sed直接修改。命令如下:

[[email protected]5201351 ~]# sed -i ‘s/^HISTSIZE=1000/HISTSIZE=200/‘ /etc/profile
[[email protected]5201351 ~]# source /etc/profile   //使其立即生效

这样就算重启服务器后、history命令的历史保留条数仍然为200条,直到下一次HISTSIZE变量的修改。

时间: 2024-10-17 19:48:38

linux修改history记录数的相关文章

linux 修改文件打开数

vi /etc/security/limits.conf 在最后面加入: * soft nofile 65535 * hard nofile 65535 linux 修改文件打开数

MSCRM 2011/2013/2015 修改显示记录数

本文地址:http://www.cnblogs.com/Earson/p/4256213.html 1.针对全局的显示记录数最大值设置 在CRM2011产品中的后台MSCRM_Config数据库中表名为DeploymentProperties的系统级的参数设定表,找到ColumnName为PagingLimt的记录 将IntColumn更改为最大的记录限制数如50000,如果更改为无限制(有多少记录显示多数记录数)则可设置为-1. 修改完成后重启IIS(iisreset)生效. 2.针对用户每页

linux修改history

1.cat ~/.bash_history 2.history | more Enter 键盘  ----------一行一行 空格键盘---------------一页一页 3.!103 执行 第103条命令 问题 在使用 bash 的过程中,我们可能希望 .bash_history 文件记录更多更有用的历史命令, 方便我们日后查询,下面给出了解决方法. 更改默认历史记录 > vi ~/.bashrc # 添加 # 忽略[连续]重复命令 HISTCONTROL=ignoredups # 清除重

[转载]linux修改open files数

概要:linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file-max.特别是提供大量静态文件访问的web服务器,缓存服务器(如squid), 更要注意这个问题.网上的教程,都只是简单说明要如何设置ulimit和file-max, 但这两者之间的关系差别,并没有仔细说明. 说明:1. file-max的含义.man proc,可得到file-max的描述:/pro

linux修改open files数

概要:linux系统默认open files数目为1024, 有时应用程序会报Too many open files的错误,是因为open files 数目不够.这就需要修改ulimit和file-max.特别是提供大量静态文件访问的web服务器,缓存服务器(如squid), 更要注意这个问题.网上的教程,都只是简单说明要如何设置ulimit和file-max, 但这两者之间的关系差别,并没有仔细说明. 说明:1. file-max的含义.man proc,可得到file-max的描述:/pro

linux查看History记录加时间戳小技巧

使用`history`可以输出你曾经输入过的历史命令.例如 [[email protected] ~]# history | more ls cd vi test.sh 但是这里只显示了命令,没有显示执行命令的时间. 因为保存历史命令的`~/.bash_history`文件里并没有保存时间. 加时间戳方法: echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile 然后`source`一下就可以了 sour

Linux查看History记录加时间戳

使用history输出你曾经输入过的历史命令 [[email protected] ~]# history  |  more 12  cd ipsnmp/ 13  sh check_local_snmp.sh 14  route -n 但是这里只显示了命令,没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间. 可以通过设置环境变量 export HISTTIMEFORMAT="%F %T `whoami` " 给history加上时间戳 [[ema

Linux修改History历史命令数量

****打开  vim  /etc/profile vim  /etc/profile 追加配置 # /etc/profile: system-wide .profile file for the Bourne shell (sh(1))# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...). if [ "$PS1" ]; then if [ "$BASH" ] && [ "

修改linux系统history命令的条数和格式

在一次测试环境遇到的情况,发现服务莫名其妙挂了,以为服务有bug,查了一下午,后来一个同事说:“是我把服务关了啊”.... 是可忍孰不可忍,原生的history命令,只能看到输入的命令历史,看不到什么时候,谁输入的. 特此在网上找到修改history命令的办法: 1.用root用户打开系统环境变量设置的文件 vim /etc/profile 2.在最下面,插入下面几行代码 USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/