Linux下ls命令和du命令查看文件大小的区别

ll -h  即为ls -lh是文件的实际大小;
du -sh 显示文件所占用的 block 大小;
注:用du命令查看文件大小的时候,当文件只有1个字节,也会占用 4KB (inux默认是4k)。
du -ach *    #这个能看到当前目录下的所有文件占用磁盘大小和总大小
du -sh       #查看当前目录总大小
du -sh *     #查看所有子目录大小

du == disk usage (磁盘使用量,占用的磁盘空间)
一个文件占用的磁盘空间和一个文件的大小是两码事情。占用空间取决于文件系统的块(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。

 

Linux下ls命令和du命令查看文件大小的区别

上一篇:Shell 输入/输出重定向


下一篇:shell脚本:报错syntax error near unexpected token `$'\r''解决方法