当前位置:   article > 正文

【文件系统】Linux下文件大小和占磁盘空间大小_linux文件大小和磁盘空间有关系吗

linux文件大小和磁盘空间有关系吗

1.大文件生成

  1. 生成size很大的文件的代码:
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <sys/types.h>
  5. #include <sys/stat.h>
  6. #include <unistd.h>
  7. #include <fcntl.h>
  8. int main(int argc,char** argv)
  9. {
  10. if(argc < 0)
  11. {
  12. printf("please input filename.\n");
  13. exit(1);
  14. }
  15. int fd = open(argv[1],O_WRONLY|O_CREAT|O_TRUNC,0600);
  16. if(fd < 0)
  17. {
  18. perror("opne()");
  19. exit(1);
  20. }
  21. lseek(fd,5LL*1024LL*1024LL*1024-1LL,SEEK_SET);//没有判返回值,将就以下
  22. write(fd,"1",5LL*1024LL*1024*1024LL-1LL);
  23. close(fd);
  24. exit(0);
  25. }

2.查看测试文件的参数

 

 3.为什么?

  1. 傻瓜,当然是因为没有真正开始写东西,没有用到磁盘中的block,可以再进行测试.
  2. 代码中只是写了1.
  3. 在此,您需要知道:
  4. 在Linux的世界中,经典unix的fs以及后来的在此基础上演变的各种文件系统中,文件size的大小和占用磁盘大小仅仅在很少情况下是相同的:
  5. 当您的文件size特别小的时候,可能文件大小没有占用磁盘的空间大,
  6. 当您的文件size特别大但是又有很多地方没有真正写入内容的时候,您的文件仅仅占用了相对很小的磁盘空间.
  7. 偶然的情况,两者是相同大小的.

 

4.centos7查看文件系统

这里我的测试系统是centos7,用的xfs的文件系统.

5. cenots6.10查看文件系统及测试结果

 

 

 

 

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号