为什么用ls和du显示出来的文件大小有差别?【转】

为什么用ls和du显示出来的文件大小有差别?【转】

为什么用ls和du显示出来的文件大小有差别?【转】

在使用Linux ls命令查看文件大小时,发现文件很大,足有100个G,而使用du命令查看则不超过10个G。

 
  1. [root@shanghai devicemapper]# ls -l
  2. 总用量
  3. -rwxrwxrwx. root root 5月 : data
  4. -rwxrwxrwx. root root 5月 : metadata

数数字麻烦,下面这个看得更清楚一些:

 
  1. [root@shanghai devicemapper]# ls -lh
  2. 总用量 .3G
  3. -rwxrwxrwx. root root 100G 5月 : data
  4. -rwxrwxrwx. root root .0G 5月 : metadata

du命令显示文件占用的空间大小:

 
  1. [root@shanghai devicemapper]# du -h *
  2. .3G data
  3. 15M metadata

可以发现,实际文件大小比占用的空间大小还大,那又怎么放得下?
原来这个是因为稀疏文件的缘故,稀疏文件中的“洞”不占存储空间。

造成这二者不同的原因主要有两点:

  • 稀疏文件(sparse file)
  • ls和du显示出的size有不同的含义

至于什么是稀疏文件,下面这篇文章解释的非常详细:
为什么用ls和du显示出来的文件大小有差别? - loryliu的专栏 - CSDN博客 https://blog.csdn.net/loryliu/article/details/25337409

转自

linux ls列出的文件大小比du还大? - hongweigg的专栏 - CSDN博客 https://blog.csdn.net/hongweigg/article/details/80191049

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值