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

2023-07-29,,

lseek函数显示地为一个打开文件设置偏移量,文件偏移量可以大于文件的当前长度,在这种情况下,对该文件的下一次写将加长该文件,并在文件中构成一个空洞,这一点是允许的。位于文件中但没有写过的字节都被读为0。

eg:

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

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

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

虽然两个文件的长度相同,但无空洞文件占用了20个磁盘块,而具有空洞的文件只占用了8个磁盘块。

Unix - 文件中构成一个空洞的分析的相关教程结束。

《Unix - 文件中构成一个空洞的分析.doc》

下载本文的Word格式文档,以方便收藏与打印。