码迷,mamicode.com
首页 > 其他好文 > 详细

Unix - 文件里构成一个空洞的分析

时间:2017-05-19 22:23:21      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:相同   div   执行   进制   分享   art   img   分析   打开   

        lseek函数显示地为一个打开文件设置偏移量,文件偏移量能够大于文件的当前长度,在这样的情况下。对该文件的下一次写将加长该文件。并在文件里构成一个空洞,这一点是同意的。

位于文件里但没有写过的字节都被读为0。

eg:

技术分享

holeFile.c函数创建了一个具有空洞的文件,执行观察:

技术分享

能够看到,文件里的30个未写入字节都被设置读为0。每一行開始的一个7位数是以八进制形式表示的字节偏移量。

将刚创建的文件与相同长度但舞空洞的文件进行比較

技术分享


技术分享

尽管两个文件的长度同样,但无空洞文件占用了20个磁盘块,而具有空洞的文件仅仅占用了8个磁盘块。

Unix - 文件里构成一个空洞的分析

标签:相同   div   执行   进制   分享   art   img   分析   打开   

原文地址:http://www.cnblogs.com/wzjhoutai/p/6880188.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!