du--disk usage
du:汇总每个文件的磁盘使用情况,如果是文件夹,将会递归的去汇总磁盘使用情况
Summarize disk usage of each FILE, recursively for directories.
du 通过调用statfs,直接读取分区的超级块信息获取分区空间的使用情况,以分区的元数据为处理对象,只能统计为被删除的文件
例如:du -h /www
0 ./cgi-bin
0 ./html
0 .
du 可以指定某个文件或者某个文件夹,如果未指定,则默认统计汇总当前文件夹,下面说明一下du常用的配置选项
-a, --all write counts for all files, not just directories
统计所有的文件,包括文件和文件夹(实例如上)
-h, --human-readable print sizes in human readable format (e.g., 1K 234M 2G)
以人类能够看懂的方式来输出(例如如上)
[root@bat bin]# du -ah
8.0K ./java
8.0K ./jjs
8.0K ./keytool
8.0K ./orbd
8.0K ./pack200
8.0K ./rmid
8.0K ./rmiregistry
8.0K ./servertool
8.0K ./tnameserv
104K ./unpack200
8.0K ./policytool
188K .
-s, --summarize display only a total for each argument
汇总数据,只展示文件占用空间总的数据信息,如果是文件,则展示文件的大小,如果包含多个文件夹,则展示这几个文件的汇总信息
[root@bat bin]# du -sh
188K .
-d, --max-depth=N print the total for a directory (or file, with --all)
only if it is N or fewer levels below the command
line argument; --max-depth=0 is the same as
--summarize
打印递归统计文件路径的最大深度
[root@bat jre]# du -hd 2
188K ./bin
39M ./lib/amd64
0 ./lib/applet
252K ./lib/cmm
7.7M ./lib/ext
36K ./lib/images
32K ./lib/management
60K ./lib/security
125M ./lib
125M .
-X, --exclude-from=FILE exclude files that match any pattern in FILE
--exclude=PATTERN exclude files that match PATTERN
-X, --exclude-from
排除与PATTERN中任何模式匹配的文件
[root@bat lib]# du -h --exclude-from jce.jar
0 ./amd64/client
64K ./amd64/jli
35M ./amd64/server
39M ./amd64
0 ./applet
252K ./cmm
7.7M ./ext
36K ./images/cursors
36K ./images
32K ./management
60K ./security
125M .
--exclude 排除任何匹配PATTERN(文件或者文件夹)的文件
[root@bat lib]# du -h --exclude-from jce.jar
0 ./amd64/client
64K ./amd64/jli
35M ./amd64/server
39M ./amd64
0 ./applet
252K ./cmm
7.7M ./ext
36K ./images/cursors
36K ./images
32K ./management
60K ./security
125M