du (Unix)

维基百科,自由的百科全书
跳转至: 导航搜索
终端中du的截图

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操作系统可能提供额外的选项。例如,BSDGNUdu规定了一个-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

参考[编辑]

外部链接[编辑]

使用手册[编辑]

其他[编辑]