Du (Unix)

du(disk usage的缩写，磁盘使用情况)是一个标准Unix程序，用于估量文件或文件夹的磁盘使用情况。

历史 
du工具首次出现在AT&T Unix的第一版中。

规范 
默认情况下，单一UNIX规范规定，du显示当前目录每个文件与目录的被分配磁盘空间的情况。链接文件将会显示其本身大小而非其链接对象；目录则会显示其内容的大小。

由于du只反映磁盘分配情况而非实际文件大小，所以如果文件被删除后磁盘未被释放，其显示的数字会与df报告的数字有所不同。

用法 
du可以带一个参数，即指定一个路径来工作；如果没有指定，则使用当前目录。SUS指定了du有以下这些选项：
 -a，显示所有的文件和目录，而不仅仅显示目录。
 -H，计算命令行中指定链接对象的磁盘使用情况。
 -k，将大小除以1024字节，而非512字节显示。
 -L，计算任意链接对象的使用情况。
 -s，仅汇报当前目录总计的磁盘使用情况，而不显示每一个文件。
 -x，仅遍历指定路径所在设备上的文件与目录。

其他Unix和类Unix操作系统可能提供额外的选项。例如，BSD与GNU的du规定了一个-h选项，把磁盘使用情况的大小加上单位后缀，显示为一个用户更容易理解的形式。（如：10MB）

示例 
KB单位的目录总大小：
 $ du -sk *
 152304  directoryOne
 1856548 directoryTwo
更易读的目录总大小格式(Byte、KB、MB、GB、TB、PB)：
 $ du -sh *
 149M directoryOne
 1.8G directoryTwo
当前目录下包含隐藏文件，子目录与文件的磁盘使用情况（从小到大排序）：
 $ du -sk .[!.]* *| sort -n
当前目录下包含隐藏文件，子目录与文件的磁盘使用情况（从大到小排序）：
 $ du -sk .[!.]* *| sort -nr

显示深度为1的目录大小及其总和
 $ du -d 1 -c -h

参考 
Baobab

外部链接 
 The Open Group Base规范中du的说明

使用手册 
 du — GNU coreutils中的使用手册
 du — OpenBSD中的使用手册
 du — Dragonflybsd中的使用手册

其他 
 Disk space-related utilities at Freshmeat.net

标准Unix程序
Unix SUS2008实用工具
Disk硬盘分析软件