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

常见的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

本站的忠实读者小伙伴,正在阅读下面这些文章:

欢迎转载传播本篇原创文章,转载请保留链接及作者信息。
欢迎指正文字或逻辑错误,将会择优在文末列出您的信息。
本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享。
转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议。
未经许可,规模化镜像抄袭本站内容的行为,将会根据有关法律法规进行维权。
程序如此灵动~》下所有原创文章,如被用于商业用途,请您按规定支付稿费。

苏南大叔需要你的支持

感谢您的打赏,让我更有动力,将更多精彩教程文章,呈现给大家!谢谢!