linux 查看文件 文件夹大小详解程序员

日常运维时,经常遇到磁盘存储空间不足的告警,我们就需要找到哪个目录占用的空间最大。通常先看一下根目录下各个子目录的大小,找到占用最大的文件夹,然后再一级级的找下去。这就要用到du(disk usage)命令

du – estimate file space usage
Summarize disk usage of each FILE, recursively for directories

从上述解释,du用于估算每个文件占用的空间,如果是文件夹,那么会递归估算。

  • -s(summarize),总结性信息
  • -h(human-readable),以人类易读的单位展示,比如大文件以G为单位,中文件用MB,小文件用KB

比如查看根目录下,一级子目录的大小

du -sh /* 

或者先切换到根目录下,然后

du -sh ./* 

在这里插入图片描述
也可以使用du -h --max-depth=1
在这里插入图片描述

我们知道,ll -h也可以查看大小,但是它只查看本级文件夹大小,而不包含子文件。也许你已经发现,文件夹的大小,基本都是4K,这4k是存储文件元数据所占有的空间。

在这里插入图片描述

疑问

从上图可以看出,对大多数文件,注意指的是文件而不是文件夹,lldu展示的大小一样,但qr_code.png,在ll中占据772,在du中占用4K,这是因为ll默认展示的是文件大小,而不是占用磁盘的大小,使用-s选项,可以查看分配的大小。
在这里插入图片描述
从这图也可以看出,文件夹实际大小和分配大小都是4K,而小文件,大小与占用磁盘大小可能不一样。

总结

查看文件夹(包含子目录)的大小,使用du -sh path/* 或者du -h --max-depth=1 path

参考

using-ls-to-list-directories-and-their-total-sizes

how-get-size-of-file-directory-linux

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/1226.html

(0)
上一篇 2021年7月15日
下一篇 2021年7月15日

相关推荐

发表回复

登录后才能评论