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

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查看文件系统及测试结果

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值