一、命令说明
du 是 Disk Usage 的缩写,用于估算文件或目录的磁盘使用量
1.1 du 命令及语法
Usage:
du [OPTION]... [FILE]...
du [OPTION]... --files0-from=F
1.2 常用的选项如下
-a: 显示目录中所有文件以及文件夹大小 -h: 以 Kb、Mb 、Gb 等易读的单位显示大小 -s: 显示目录总大小 -d: 是 --max-depth=N 选项的简写,表示深入到第几层目录,超过指定层数目录则忽略 -c: 除了显示目录大小外,额外一行显示总占用量 --time: 显示每一个目录下最近修改文件的时间 -t: 是 --threshold=SIZE 的简写,过滤掉小于 SIZE 大小的文件以及目录 --exclude=PATTERN:过滤与 PATTERN 匹配的文件名或者目录名
二、实例说明
2.1 a: 显示目录中所有文件以及文件夹大小
查看root用户的home目录下文件及文件夹: ls -a
统计各文件及文件夹的大小:du -a /root ,默认单位为:KB
注:如果不加-a参数,则只会统计文件夹的大小,如下所示:
2.2 h: 以 Kb、Mb 、Gb 等易读的单位显示大小
默认情况下,显示结果以KB为单位,且无不显示单位名称,如下:
如果想以bit,KB显示大小,只需要增加参数-b或-k,如下所示
以上方式不方便识别,可读性较差,使用-h可以自动以最优的读取方式进行呈现
使用-h,即human的缩写,即以人类易读的方式
2.3 -s: 显示目录总大小
有时我们只需要知道一个目录的总大小,不需要知道子目录及子目录下文件的大小,可以通过 -s 选项获取目录总大小
2.4 -d: 深入到第几层目录,超过指定层数目录则忽略
如果一个目录有很多子目录,只想显示指定层数目录大小的话,可以使用 -d 选项实现
我们先使用tree查看目录结构,如下:
然后使用-d参数分别指定查看2级,3级目录,如下:
2.5 -c: 除了显示目录大小外,额外一行显示总占用量
使用-c参数,会额外增加一个total的统计,如下所示:
2.6 --time: 显示每一个目录下最近修改文件的时间
--time参数会同时显示文件的修改时间,如下所示:
2.7 -t: 过滤掉小于 SIZE 大小的文件以及目录
从显示的结果中,过滤掉指定大小的目录以及文件,
例如:du -t 10000 ,则会把小于10000btye的目录过滤掉,如下所示:
按KB大小过滤:
按M大小过滤:
2.8 --exclude 过滤与 PATTERN 匹配的文件名或者目录名
例如:过滤包含sub的子目录,如下所示: