空洞文件的创建和说明

函数 lseek() 仅将当前的文件偏移量记录在内核中,并不引起任何 I/O 操作;该偏移量用于下一个读或写操作。偏移量可以大于文件当前长度,在这种情况下,对该文件的下一次写操作将加长该文件,并在文件中构成一个空洞;位于文件中但没有写过的字节都被读为 0,且空洞不占用磁盘空间。

下面是取自《UNIX环境高级编程》的示例代码,用于生成一个具有空洞的文件 “file.hole”。

使用 od -c file.hole 命令可以观察文件的实际内容。

如无特殊说明,文章均为本站原创,转载请注明出处
源自: 王明军的博客
本文链接地址: 空洞文件的创建和说明
广告

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.