问题 文件的物理结构是什么样的
文件系统中, 文件的物理结构是什么样的呢? 文件系统中, 怎么定义的文件的存储呢? 先记下这个问题, 以后看.
#include <fcntl.h>
#include <unistd.h>
#include <stdio.h>
int main(){
int f = open("blank",O_WRONLY);
if (f<0){
perror("open error");
}
printf("%d\n",f);
write(f,"abcdefg",7);
lseek(f,10000000,SEEK_CUR);
write(f,"abcdefg\n",8);
close(f);
}
写一个空洞文件.
root@2d3967f5850a:/tmp/test# ll blank
-rw-r--r-- 1 root root 10000015 May 6 03:56 blank
root@2d3967f5850a:/tmp/test# du -sh blank
104K blank
文件在大概10M, 但实际占用的磁盘空间只有104K
但读取文件时候, 是会读取10M字节的内容的, cat blank > blank2, 然后再du也可以佐证.
那文件系统中, 文件的物理结构是什么样的呢? 文件系统中, 怎么定义的文件的存储呢? 先记下这个问题, 以后看.