如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留链接信息。

常见的linux发行版,比如centos是默认没有界面的。那么查看文件大小这种事情,就变得有些复杂了。在本文中,苏南大叔解释几个有关文件大小的命令,比如查看一组文件的大小,文件夹按大小排序,文件size显示友好的可读性等,以及如何查找文件体积大于100M的文件。涉及的命令,主要是:du/sort

本文的实验场景是centos7.5。当然,在其它的linux发行版中,比如mac系统,本篇文章也是有一定的参考价值的。

du命令,显示人类友好的统计信息

du <路径信息> -h

这里的参数-h就是人类可读性友好的意思。du的默认返回值单位是block(大家就可以理解为数据存放的单位数量),而加上-h参数后,显示的就是大家平时所说的kb/M/G等单位了。建议大家一定使用-h参数,不过人类友好之后,这个值就不是那么准确了。

但是du命令和sort命令组合使用的时候,du命令不能添加-h参数,否则会有一定的概率出现逻辑错误。

centos如何使用du命令查看文件大小? - 错误的sort组合

centos如何使用du命令查看文件大小?(图12-1)

基本使用方式

du命令主要用于查看文件大小,比如查看某个文件的size。

du <文件名称> -h
  • du命令,查看文件夹大小
du <文件夹名称> -h

以下几种情况中,du会列出该文件夹及所有任意深度的子文件夹下所有文件的size。这个和查看某个文件名称的时候,是不同的。

  • du后面跟着的是一个文件夹名称
  • du后面跟着的是当前目录.
  • 直接命令du,没有其余表示位置的信息(默认就是当前目录)

centos如何使用du命令查看文件大小? - du_文件夹

centos如何使用du命令查看文件大小?(图12-2)

du只查看一级目录size情况

新的参数是--max-depth,为了防止默认的深度循环展示,就可以使用这个参数。

du -h --max-depth=0 <目录名称路径>

centos如何使用du命令查看文件大小? - du_depth

centos如何使用du命令查看文件大小?(图12-3)

只查看当前子目录的情况: du -sh *

看起来是有些绕,下面来对比一下四条命令。

du -sh <目录名称路径>
du -sh * <目录名称路径>
du -h --max-depth=0 <目录名称路径>
du -h --max-depth=1 <目录名称路径>

对比截图如下:

newsn.net:这里是【评论】可见内容

du按大小排序

这里借助另外一个命令sort进行排序,但是值得注意的是:这个时候最好不要使用du-h参数。因为如果单位不一致的话(比如一个kb,一个M),可能就排序错误了。

size升序:

du -s * | sort -ns

centos如何使用du命令查看文件大小? - sort_ns

centos如何使用du命令查看文件大小?(图12-5)

size降序:

du -s * | sort -nr

centos如何使用du命令查看文件大小? - sort_nr

centos如何使用du命令查看文件大小?(图12-6)

只显示一部分du的结果

如果参与排序的数量较多,您可能还需要下面的命令。

(降序)选出排在前面的10个:

du -s <路径> | sort -rn | head

centos如何使用du命令查看文件大小? - head

centos如何使用du命令查看文件大小?(图12-7)

(降序)选出排在后面的10个:

du -s <路径> | sort -nr | tail

centos如何使用du命令查看文件大小? - tail

centos如何使用du命令查看文件大小?(图12-8)

屏幕能显示多少条(降序)就显示多少条(降序),然后<enter>继续显示下一屏。

du -s <路径> | sort -nr | more

centos如何使用du命令查看文件大小? - more

centos如何使用du命令查看文件大小?(图12-9)

du计算合计值

重点就是参数c了,大家可以对比上边的du -sh *看看效果。-c参数,会在最下方增加一个total的一行数据。

du -shc *

centos如何使用du命令查看文件大小? - du_shc

centos如何使用du命令查看文件大小?(图12-10)

du的默认单位block到底是多少kb

这个并没有统一答案,一般来说是512k,但是也可能是1024kb,因为这个是可以修改的。所以,苏南大叔建议:您可以用dudu -h的对比结果来算算,您的系统上的一个block到底是多少kb

当然了,网上也流传着很多如何查看本机的block的size的方法,苏南大叔试了一下后,觉得似乎并不是那么靠谱。得出的结果和计算出来的标准答案都相差较多。

苏南大叔觉得下面的这个办法比较取巧,也比较标准。不过和网上其它地方给出的答案相差较多。大家自行决定把。

df

使用这个命令的时候,在苏南大叔的centos上面,这个值是1024k,在mac机上面,这个值是512k。和苏南大叔亲自计算的结果是一致的。

网上流程的各种方法,例如:tune2fs/stat/dumpe2fs等,在mac机上面不存在这些命令,在centos上面得出的结果和计算的结果不一致。

centos:

centos如何使用du命令查看文件大小? - centos_df

centos如何使用du命令查看文件大小?(图12-11)

mac:
centos如何使用du命令查看文件大小? - mac_df

centos如何使用du命令查看文件大小?(图12-12)

如果您使用下面这个命令,就可以查看比较详实的磁盘利用率了。

df -lh

总结

linux命令行是非常有用的,熟练掌握这些命令,是可以做很多事情的。更多苏南大叔编写的centos的相关经验文章,请点击下面的链接。

https://newsn.net/tag/centos/

  【centos】秘籍文章入口,仅传授于有缘之人  centos    du

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

打赏任意金额,发送截图到邮箱 shang@newsn.net ,可以领取精选回馈如下(任选其一):
  • 《前端视频教程大礼包》一套
  • 《wordpress精选皮肤》一套
  • 《dedecms织梦精选模板》一套
感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!

岁月静好

关注互联网发展,关注苏南大叔的《程序如此灵动~》博客
本文章来自:程序如此灵动~
博客地址为:https://newsn.net/
原文地址为:https://newsn.net/say/du-filesize.html
上一篇好文:未知php代码分析,常用辅助分析类函数总结
下一篇好文:centos查找大文件方案大全

如果您转载了本文章,出于某种原因,并没有注明作者或者出处。
在这里,苏南大叔也表示理解和支持。因为苏南大叔深深地明白:
您会在合适的时机,合适的地方,给本博客一个外链。对吧?
您若开心,便是安好!岁月静好,但愿世界和平,没有纷争~