zoukankan      html  css  js  c++  java
  • 为什么用ls和du显示出来的文件大小有差别?【转】

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

    [root@shanghai devicemapper]# ls -l
    总用量 8692788
    -rwxrwxrwx. 1 root root 107374182400 5月   3 19:37 data
    -rwxrwxrwx. 1 root root   2147483648 5月   3 10:53 metadata


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

    [root@shanghai devicemapper]# ls -lh
    总用量 8.3G
    -rwxrwxrwx. 1 root root 100G 5月   3 19:42 data
    -rwxrwxrwx. 1 root root 2.0G 5月   3 10:53 metadata


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

    [root@shanghai devicemapper]# du -h *
    8.3G    data
    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

  • 相关阅读:
    Mysql事务隔离级
    51nod1076(tarjan)
    求无向图的割点和桥模板(tarjan)
    51nod1770(xjb)
    51nod1640(kruscal)
    51nod1639(组合数学)
    51nod1625(枚举&贪心)
    51nod1562(set&模拟)
    51nod1483(打表)
    51nod1475(贪心&枚举)
  • 原文地址:https://www.cnblogs.com/paul8339/p/11557961.html
Copyright © 2011-2022 走看看