Linux下查看文件大小和目录大小以及目录下文件的大小

在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。


请向[email protected] 报告du 的错误

GNU coreutils 项目主页:<http://www.gnu.org/software/coreutils/>

GNU 软件一般性帮助:<http://www.gnu.org/gethelp/>

请向<http://translationproject.org/team/zh_CN.html> 报告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,这个在平常的查找哪个文件占用磁盘空间用的频率较高。

你可能感兴趣的:(linux)