linux空洞文件有何作用,Linux文件空洞解释

以例子结合命令理解,具体看下面内容

/********

hole.c

********/

#include

#include

#include

#include

char buffer1[]="abcdefghijklmnop";

char buffer2[]="1234567890";

int main(void)

{

int fd;

if((fd=open("filehole",O_RDWR|O_TRUNC|O_CREAT))<0)

printf("create error/n");

if(write(fd,buf1,strlen(buf1))!=16)

printf("buf1 write error/n");

if(lseek(fd,10000,SEEK_SET)==-1)

printf("lseek error/n");

if(write(fd,buf2,strlen(buf2))!=10);

printf("buf2 write error/n");

close(fd);

return 0;

}

sudoo@sudoo-desktop:~/fhole$ gcc  -o hole hole.c

sudoo@sudoo-desktop:~/fhole$ ./hole

sudoo@sudoo-desktop:~/fhole$ ls

filehole  hole  hole.c  hole.c~

sudoo@sudoo-desktop:~/fhole$ ls -l filehole

-rw-r-x--T 1 sudoo sudoo 10010 2010-03-31 19:59 filehole

sudoo@sudoo-desktop:~/fhole$ cp  --sparse=never filehole  fileh

sudoo@sudoo-desktop:~/fhole$ ls

fileh  filehole  hole  hole.c  hole.c~

sudoo@sudoo-desktop:~/fhole$ ls -l fileh

-rw-r-x--- 1 sudoo sudoo 10010 2010-03-31 20:00 fileh

sudoo@sudoo-desktop:~/fhole$ od -c filehole

0000000   a b   c   d   e   f   g   h   i   j   k   l   m   n   o   p

0000020  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0

*

0023420   1   2   3   4   5   6   7   8   9   0

0023432

sudoo@sudoo-desktop:~/fhole$ od -c fileh

0000000   a b   c   d   e   f   g   h   i   j   k   l   m   n   o   p

0000020  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0  /0

*

0023420   1   2   3   4   5   6   7   8   9   0

0023432

sudoo@sudoo-desktop:~/fhole$ stat filehole

File: “filehole”

Size: 10010           Blocks: 16       IO Block: 4096 普通文件

Device: 801h/2049d       Inode: 297588      Links: 1

Access: (1650/-rw-r-x--T)  Uid: ( 1000/   sudoo)   Gid: ( 1000/   sudoo)

Access: 2010-03-31 19:59:41.000000000 +0800

Modify: 2010-03-31 19:59:40.000000000 +0800

Change: 2010-03-31 19:59:40.000000000 +0800

sudoo@sudoo-desktop:~/fhole$ stat fileh

File: “fileh”

Size: 10010          Blocks: 24       IO Block: 4096 普通文件

Device: 801h/2049d       Inode: 297793      Links: 1

Access: (0650/-rw-r-x---)  Uid: ( 1000/   sudoo)   Gid: ( 1000/   sudoo)

Access: 2010-03-31 20:00:37.000000000 +0800

Modify: 2010-03-31 20:00:35.000000000 +0800

Change: 2010-03-31 20:00:35.000000000 +0800

sudoo@sudoo-desktop:~/fhole$ du filehole

8     filehole

sudoo@sudoo-desktop:~/fhole$ du fileh

12    fileh

sudoo@sudoo-desktop:~/fhole$ du -h filehole

8.0K     filehole

sudoo@sudoo-desktop:~/fhole$ du -h fileh

12K fileh

sudoo@sudoo-desktop:~/fhole$

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值