当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 拨开云雾:Lastlog文件不断变大的原因

Unix/Linux
曾经回答的几个问题
Linux C 函数参考(环境变量,终端控制)
Linux C 函数参考(文件权限控制)
Linux C 函数参考(数据结构及算法)
理解流媒体开发
基于S3c4510b芯片的系统中的地址重映射的实现
Lotus.Domino&Notes.v6.5(17CD)
各种MPEG资源地汇总
2005第一号公告
庆祝鲜花和蛋糕
红旗5与你相约7月
终端命令用法精选
心情不好
硬盘的 Linux 分区
什么是存储过程
存储过程的一点相关资料
shell 阅读笔记-基本命令
shell 阅读笔记--控制流结构
Ifconfig网络配置工具详解
shell 阅读笔记-脚本

Unix/Linux 中的 拨开云雾:Lastlog文件不断变大的原因


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 151 ::
收藏到网摘: n/a

Lastlog文件是记录所有用户最后登录的相关信息,该文件的算法是这样的:

记录用户登录信息大小= UID * 256byte

如64位系统上的nfsnobody用户,其UID是4294967294 或者 2^32 - 2,这也是系统上最后一个的UID。

所以通过上面的算法就能说明该文件怎样显示1.2TB大小:

4294967294 * 256 = 1099511627264 bytes从上面的算法也可以看到,256是每一UID在lostlog文件中所占用的空间大小。所以这种文件就是所谓的sparse(稀疏)文件:稀疏文件就是在文件中留有很多空余空间,留备将来插入数据使用。这些空余空间被ASCII码的NULL字符占据,并且这些空间相当大,这个文件就被称为稀疏文件,但是并不分配相应的磁盘块。也就是没有真正占用文件系统空间。所以你就不用担心了这个文件占用了1.2TB的空间了。你可以用du -h /var/log/lastlog来查他看到真正占用磁盘的空间。