为什么用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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2018-09-20 python 中@ 的用法【转】
2018-09-20 MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】