免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: boywf87
打印 上一主题 下一主题

history命令保存的最大数?困惑~~ [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-09-06 17:30 |只看该作者
又是一个悬而未决的问题................


高手在哪里?

论坛徽章:
0
12 [报告]
发表于 2010-09-06 17:31 |只看该作者
echo $HISTSIZE

这个env 控制记录数

论坛徽章:
0
13 [报告]
发表于 2010-09-06 18:36 |只看该作者
# history > history.txt 把那大于1000的记录,输出到一个文件中!
# diff ~/.bash_history history.txt 比较下这两个,看看是那里不一样,怎么一个1000记录,一个1000多记录,一定有地方不一样,把它查出来!{:3_201:}
一路征程一路笑 该用户已被删除
14 [报告]
发表于 2010-09-06 19:14 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
15 [报告]
发表于 2010-09-06 20:24 |只看该作者
仔细看了下 history 和 ~/.bash_history 的不同,大致明白!

历史命令记录数是不会超过 $HISTSIZE 这个变量值的(不管是 history | wc -l 或者 cat ~/.bash_history | wc -l 都不会超过 $HISTSIZE 这个变量值!)
$HISTSIZE 变量是表示命令历史记录数,楼主的 $HISTSIZE 是 1000 值!

至于会出显 1000 多的编号,那是 history 输出时编号问题,当満 1000 记录后,前面的记录就被删除了(连编号一同删除了),假设用 history 命令显示历史记录到 1003 了,那么用 history | head 看前面的记录,一定被删除了 3 个,显示出来的第一条的编号是 4 了,记录的个数是不被超过 $HISTSIZE 变量值的!



但是楼主7楼的那个显示不能理解!
  1. [root@localhost ~]#history |head
  2.     1  cd /media/
  3.     2  ls
  4.     3  ll
  5.     4  cd /dev/
  6.     5  ld
  7.     6  ls
  8.     7  cd disk
  9.     8  ls
  10.     9  cd ..
  11.    10  cd cdrom

  12. [root@localhost ~]#history
  13.     1  cd /media/
  14.     2  ls
  15.     3  ll
  16.     4  cd /dev/
  17.     5  ld
  18.     6  ls
  19.     7  cd disk
  20.     8  ls
  21.     9  cd ..
  22.    10  cd cdrom
  23.    11  ls
复制代码
执行 history | head 能显示出 “1  cd /media/” 这条历史命令,那么再执行 history 这个命令时候 “1  cd /media/” 历史就应该不见了(被挤出去了),而排在第 1行的应该是 “2  ls”了,如果确实是楼主说的这样,就只能说历史记录没有满(即没有达到或超过 $HISTSIZE 记录条数)才会这样!

{:3_201:}

论坛徽章:
0
16 [报告]
发表于 2010-09-06 21:48 |只看该作者
查了一下man手册,还没有man 1 history.

招聘 : 技术支持/维
论坛徽章:
0
17 [报告]
发表于 2010-09-07 09:07 |只看该作者
如果有1004条记录,那么1-4条应该不存在了吧

论坛徽章:
1
天秤座
日期:2014-11-05 16:54:55
18 [报告]
发表于 2010-09-07 18:34 |只看该作者
这个问题的讨论价值在哪里呢?迷惑中,,,,

论坛徽章:
0
19 [报告]
发表于 2010-09-07 22:25 |只看该作者
你有清过历史记录,但id是自增的好像

论坛徽章:
0
20 [报告]
发表于 2010-09-09 18:42 |只看该作者
本帖最后由 agloom 于 2010-09-09 18:44 编辑

history中的确只保留1000条,现在使用的命令只在在内存中,在注销后才写进history中,那时会把老的记录覆盖掉。现在用history命令时,会把history和内存中保存的最近使用命令一块显示出来,所以出现超过1000条记录。

不知道理解的对不对,请各位大虾指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP