当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。

df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。

du可以查看文件及文件夹的大小。

两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。



df -lh :查看磁盘分区和挂载点

Filesystem 容量 已用 可用 已用% 挂载点
/dev/hda8 11G 6.0G 4.4G 58% /
/dev/shm 236M 0 236M 0% /dev/shm
/dev/sda1 56G 22G 35G 39% /mnt/sda1



du:查询文件或文件夹的磁盘使用空间

如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小.

提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。



1、以下是代码片段:

[root@bsso yayu]# du -h --max-depth=1 work/testing

27M     work/testing/logs

35M     work/testing



[root@bsso yayu]# du -h --max-depth=1 work/testing/*

8.0K    work/testing/func.php

27M     work/testing/logs

8.1M    work/testing/nohup.out

8.0K    work/testing/testing_c.php

12K     work/testing/testing_func_reg.php

8.0K    work/testing/testing_get.php

8.0K    work/testing/testing_g.php

8.0K    work/testing/var.php



[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/

27M     work/testing/logs/



[root@bsso yayu]# du -h --max-depth=1 work/testing/logs/*

24K     work/testing/logs/errdate.log_show.log

8.0K    work/testing/logs/pertime_show.log

27M     work/testing/logs/show.log



2、du -s /home/* :统计/home下的文件,不递归



3、du -h --max-depth=1 /home和du -sh /home/* 等效;

[root@mfp1 /]# du -h --max-depth=1 /home

44K     /home/wufq

32K     /home/www

36K     /home/yangjian

32K     /home/mysql

32K     /home/zhaodk

498M    /home/mfp

2.3G    /home/hadoop

2.8G    /home

[root@mfp1 /]# du -sh /home/*

2.3G    /home/hadoop

498M    /home/mfp

32K     /home/mysql

44K     /home/wufq

32K     /home/www

36K     /home/yangjian

32K     /home/zhaodk



4、可以使用du -sh /* 来查看挂载点的空间使用情况;