du [-abcDhHklmsSx][-L   <符号连接>][-X   <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数 >][--help][--version][目录或文件]

功能

计算文件的占用空间.

举例

统计 viStudy 目录的文件总大小

$ du -sh viStudy/

$cd viStudy/
$du -sh

第1个方法,输入之后输出如下:

120K    viStudy/

第2个方法,输入之后输出如下:

120K    .

统计 viStudy 目录及其子目录的大小

$ du -Sh viStudy/

输入之后,输出如下:

68K     viStudy/1
4.0K    viStudy/test
48K     viStudy/

这里,另一个方法和前面统计目录总大小的类似,由这里结合前面可知 du -shdu -Sh 的区别。

除了显示 viStudy 目录或文件的大小外,同时也显示所有子目录或文件总和大小

$ du -ch viStudy/

输入之后,输出如下:

68K     viStudy/1
4.0K    viStudy/test
120K    viStudy/
120K    total

只显示 viStudy 目录子目录大小

$du -h viStudy

输入之后,输出如下:

68K     viStudy/1
4.0K    viStudy/test
120K    viStudy/

注意,子目录也包括目录本身。

以字节为单元大小表示 viStudy 总和大小

~$ du -sb viStudy/

输入之后,输出如下:

50261   viStudy/

查看文件 mytest 的大小

$ du -h mytest

输入之后,输出如下:

4.0K    mytest

查询文件 mytestmytest2 的大小

$ du -h mytest mytest2

输入之后,输出如下:

4.0K    mytest
4.0K    mytest2

这里,还可以同时计算目录和文件的大小。注意,用 -s 选项输出的结果是一样的,如果想再显示总和,需要用 -c 选项,本文会提到。

查询文件 mytestmytest2 的大小并计算总和

$ du -ch mytest mytest2

输入之后,输出如下:

4.0K    mytest
4.0K    mytest2
8.0K    total

显示当前目录和子目录大小,指定递归层数为1

$du --max-depth=1

这里,为 0 则只显示当前目录大小了(只有一行),效果和 -s 一样。

描述

参数说明:(按"重要性"列出)

  • -a-all 显示目录中个别文件的大小。
  • -b-bytes 显示目录或文件大小时,以 byte 为单位。
  • -c--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
  • -k--kilobytesKB ( 1024bytes )为单位输出。
  • -m--megabytesMB 为单位输出。
  • -s--summarize 仅显示总计,只列出最后加总的值。
  • -h--human-readableKMG 为单位,提高信息的可读性。
  • -x--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
  • -L <符号连接>--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
  • -S--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
  • -X<文件>--exclude-from=<文件><文件> 指定目录或文件。
  • --exclude=<目录或文件> 略过指定的目录或文件。
  • -D--dereference-args 显示指定符号连接的源文件大小。
  • -H--si-h 参数相同,但是 KMG 是以 1000 为换算单位。
  • -l--count-links 重复计算硬件连接的文件。

其它

最常用的部分(鸟哥):

du [-abckms] [目录名称] 

参数说明: 
[目录名称] 可以省略,如果省略的话,表示要统计目前所在目录的档案容量 
-a   :全部的档案与目录都列出来!默认值是指列出目录的值! 
-b   :列出的值以 bytes 输出 
-c   :最后加总 total ! 
-k   :列出的值以 KB 输出 
-m  :列出的值以 MB 输出 
-s   :只列出最后加总的值! 

范例: 
[root @test /root]# du -m    <==列出 /root 底下的目录与档案所占的容量以 MB 输出 
[root @test /root]# du -s /home <==将 /home 底下的目录与档案的容量加总后输出,这里只会输出总容量!