linux查看文件大小 ---- du -sh * 与 ls -lh
2022/2/10 7:12:50
本文主要是介绍linux查看文件大小 ---- du -sh * 与 ls -lh,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
问题:du -sh * 与 ls -lh 显示文件大小不一样
在Linux下查看文件大小可以用ls -lh,也可以使用du -sh *。但是有时候,命令返回的文件大小不一样,这是为什么呢?
两者的概念:
du -sh * 计算的是文件存储到磁盘中占用了多少空间,计算的是占了多少个block
ls -lh 计算的是文件的实际大小。
du 显示的是文件占block大小,ls 是实际文件大小;
一个文件占用的磁盘空间和一个文件的大小是两码事情。占用空间取决于文件系统的块(block)的大小,linux一般默认是4k(4096) 。因此,一个大小为1个字节的文件,最小也要占用4k;如果你创建文件系统的时候制定块大小是16K,那么即便一个文件只有1个字节,占用空间也是16K。如果一个分区上主要放大文件,那么block可以大一些,有利于减少磁盘碎片,如果主要放小文件,那么block设置小一下,否则太浪费磁盘空间。
通常情况下,ls 显示的文件大小比du显示的磁盘占用空间小,比如文件系统的block是4K,一个13K的文件占用的空间是 13k/4k = 3.25 个block,一个block只能被一个文件占用,因此实际占用空间就是4个block,就是16K; 一般来说,存储文件的时候很少刚好把block填满,因此du -sh *一般都要比ls -lh大。 但是也有一些特殊文件,例如sparse file。
稀疏文件(Sparse File)
稀疏文件,这是UNIX类等文件系统的一个特性。稀疏文件与其他普通文件基本相同,区别在于文件中的部分数据是全0,且这部分数据不占用磁盘空间。它可以延迟分配磁盘空间,特别适合虚拟机。比如分配了一个100G的文件做磁盘,在虚拟机里面识别到的就是100G的空间,但是,实际物理机只是分配至已经使用的空间。
总结
在清理空间的时候,使用du -sh *去查找大文件清理即可,如果遇到稀疏文件ls -lh就会误判了。
这篇关于linux查看文件大小 ---- du -sh * 与 ls -lh的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法