在linux中经常会查看文件大小,通常用的命令du:

该命令详细解释如下:

[www@server101 logs]$ du --help
用法:du [选项]... [文件]...
或:du [选项]... --files0-from=F
计算每个文件的磁盘用量,目录则取总用量。
长选项必须使用的参数对于短选项时也是必需使用的。
-a, --all             输出所有文件的磁盘用量,不仅仅是目录
--apparent-size   显示表面用量,而并非是磁盘用量;虽然表面用量通常会
小一些,但有时它会因为稀疏文件间的"洞"、内部碎
片、非直接引用的块等原因而变大。
-B, --block-size=大小 使用指定字节数的块
-b, --bytes           等于--apparent-size --block-size=1
-c, --total           显示总计信息
-D, --dereference-args        解除命令行中列出的符号连接
--files0-from=F   计算文件F 中以NUL 结尾的文件名对应占用的磁盘空间
如果F 的值是"-",则从标准输入读入文件名
-H                    等于--dereference-args (-D)
-h, --human-readable  以可读性较好的方式显示尺寸(例如:1K 234M 2G)
--si              类似-h,但在计算时使用1000 为基底而非1024
-k                    等于--block-size=1K
-l, --count-links     如果是硬连接,就多次计算其尺寸
-m                    等于--block-size=1M
-L, --dereference     找出任何符号链接指示的真正目的地
-P, --no-dereference  不跟随任何符号链接(默认)
-0, --null            将每个空行视作0 字节而非换行符
-S, --separate-dirs   不包括子目录的占用量
-s, --summarize       只分别计算命令列中每个参数所占的总用量
-x, --one-file-system         跳过处于不同文件系统之上的目录
-X, --exclude-from=文件       排除与指定文件中描述的模式相符的文件
--exclude=PATTERN         排除与PATTERN 中描述的模式相符的文件
--max-depth=N     显示目录总计(与--all 一起使用计算文件)
当N 为指定数值时计算深度为N;
--max-depth=0 等于--summarize
--time            显示目录或该目录子目录下所有文件的最后修改时间
--time=WORD       显示WORD 时间,而非修改时间:
atime,access,use,ctime 或status
--time-style=样式 按照指定样式显示时间(样式解释规则同"date"命令):
full-iso,long-iso,iso,+FORMAT
--help            显示此帮助信息并退出
--version         显示版本信息并退出
所显示的数值是来自 --block-size、DU_BLOCK_SIZE、BLOCK_SIZE
及 BLOCKSIZE 环境变量中第一个可用的 SIZE 单位。
否则,默认单位是 1024 字节(或是 512,若设定 POSIXLY_CORRECT 的话)。
SIZE 可以是一个可选的整数,后面跟着以下单位中的一个:
KB 1000,K 1024,MB 1000*1000,M 1024*1024,还有 G、T、P、E、Z、Y。
请向bug-coreutils@gnu.org 报告du 的错误
GNU coreutils 项目主页:
GNU 软件一般性帮助:
请向 报告du 的翻译错误
要获取完整文档,请运行:info coreutils 'du invocation'
根据以上参数,平常用的最多的就是-h和--max-depth=N,用法如下:
[www@server101 logs]$ du -h php101
4.0K    php101
[www@server101 logs]$ du -h php111
4.0K    php111
[www@server101 logs]$
如果要进一步查看,可以运用参数--max-depth=N
比如要看查看当前目录下每个目录的下一级目录(中文件)大小,此时N=2
[www@server101 logs]$ du -h --max-depth=2 ./
4.0K    ./php
4.0K    ./php101
5.5M    ./php102/activity.test.org
8.0K    ./php102/adminfw.test.org
8.0K    ./php102/admin.test.org
4.7M    ./php102/affiliate.test.org
298M    ./php102/api.pb.test.org
8.0K    ./php102/bidding.m.test.org
304M    ./php102/bidding.test.org
372K    ./php102/ck.test.org
27M     ./php102/comm-bxgxq
717M    ./php102/community.test.org
8.0K    ./php102/co.test.org
1.1M    ./php102/cost.ibs.test.org
如果要继续查看下一级目录,则N=3
[www@server101 logs]$ du -h --max-depth=3 ./
4.0K    ./php
4.0K    ./php101
5.5M    ./php102/activity.test.org/logs
5.5M    ./php102/activity.test.org
4.0K    ./php102/adminfw.test.org/logs
8.0K    ./php102/adminfw.test.org
4.0K    ./php102/admin.test.org/logs
8.0K    ./php102/admin.test.org
4.7M    ./php102/affiliate.test.org/logs
4.7M    ./php102/affiliate.test.org
298M    ./php102/api.pb.test.org/logs
298M    ./php102/api.pb.test.org
4.0K    ./php102/bidding.m.test.org/logs
8.0K    ./php102/bidding.m.test.org
304M    ./php102/bidding.test.org/logs
304M    ./php102/bidding.test.org
368K    ./php102/ck.test.org/logs
372K    ./php102/ck.test.org
27M     ./php102/comm-bxgxq/logs
依次改变N的值查看目录层级的大小。然后进入目录,运用du -ah ./查看当前目录下文件的大小
www@server101 huhoo-api]$ du -ah ./
374M    ./localhost_access_log.2016-04-27.txt
100K    ./localhost.2016-04-27.log
81M     ./catalina_112.out.2016-04-28
383M    ./localhost_access_log.2016-04-28.txt
96K     ./localhost.2016-04-28.log
26M     ./catalina_112.out.2016-04-29
174M    ./localhost_access_log.2016-04-29.txt
44K     ./localhost.2016-04-29.log
74M     ./catalina_112.out.2016-04-27
1.5M    ./localhost_access_log.2016-04-20.txt
140K    ./localhost.2016-04-20.log
79M     ./localhost_access_log.2016-04-21.txt
3.1M    ./localhost.2016-04-21.log
16K     ./catalina.2016-04-21.log
0       ./manager.2016-04-21.log
0       ./host-manager.2016-04-21.log
17M     ./catalina_112.out.2016-04-21
64M     ./catalina_112.out.2016-04-22
250M    ./localhost_access_log.2016-04-22.txt
100K    ./localhost.2016-04-22.log
77M     ./catalina_112.out.2016-04-23
345M    ./localhost_access_log.2016-04-23.txt
88K     ./localhost.2016-04-23.log
77M     ./catalina_112.out.2016-04-24
367M    ./localhost_access_log.2016-04-24.txt
92K     ./localhost.2016-04-24.log
82M     ./catalina_112.out.2016-04-25

其他参数根据解释可以依次尝试,这里只介绍--max-depth=N,这个在平常的查找哪个文件占用磁盘空间用的频率较高。