赞
踩
1.大文件生成
- 生成size很大的文件的代码:
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <unistd.h>
- #include <fcntl.h>
- int main(int argc,char** argv)
- {
-
- if(argc < 0)
- {
- printf("please input filename.\n");
- exit(1);
- }
- int fd = open(argv[1],O_WRONLY|O_CREAT|O_TRUNC,0600);
- if(fd < 0)
- {
- perror("opne()");
- exit(1);
- }
- lseek(fd,5LL*1024LL*1024LL*1024-1LL,SEEK_SET);//没有判返回值,将就以下
- write(fd,"1",5LL*1024LL*1024*1024LL-1LL);
- close(fd);
- exit(0);
- }
2.查看测试文件的参数
3.为什么?
- 傻瓜,当然是因为没有真正开始写东西,没有用到磁盘中的block,可以再进行测试.
- 代码中只是写了1.
-
-
- 在此,您需要知道:
- 在Linux的世界中,经典unix的fs以及后来的在此基础上演变的各种文件系统中,文件size的大小和占用磁盘大小仅仅在很少情况下是相同的:
- 当您的文件size特别小的时候,可能文件大小没有占用磁盘的空间大,
- 当您的文件size特别大但是又有很多地方没有真正写入内容的时候,您的文件仅仅占用了相对很小的磁盘空间.
- 偶然的情况,两者是相同大小的.
4.centos7查看文件系统
这里我的测试系统是centos7,用的xfs的文件系统.
5. cenots6.10查看文件系统及测试结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。