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操作系统可能提供额外的选项。例如,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
文件系統
  • cat
  • cd
  • chmod
  • chown
  • chgrp
  • cksum
  • cmp
  • cp
  • dd
  • du
  • df
  • file
  • fsck
  • fuser
  • ln
  • ls
  • mkdir
  • mount
  • mv
  • pax英语pax (Unix)
  • pwd
  • rm
  • rmdir
  • size
  • split
  • stat
  • tee
  • touch
  • type英语type (Unix)
  • umask英语umask
程序
  • at
  • bg
  • chroot
  • cron
  • fg
  • kill
  • killall英语killall
  • nice
  • pgrep
  • pkill英语pkill
  • ps
  • pstree英语pstree
  • time
  • top
用户环境
  • clear
  • env
  • exit
  • history英语history (Unix)
  • id
  • logname
  • mesg英语mesg
  • passwd
  • su
  • sudo
  • uptime
  • talk英语talk (software)
  • tput英语tput
  • uname
  • w
  • wall英语wall (Unix)
  • who
  • whoami
  • write英语write (Unix)
文本编辑
  • awk
  • banner英语banner (Unix)
  • basename
  • comm英语comm
  • csplit英语csplit
  • cut
  • diff
  • dirname
  • ed
  • ex
  • fmt英语fmt
  • fold英语fold (Unix)
  • head英语head (Unix)
  • iconv
  • join英语join (Unix)
  • less
  • more
  • nl英语nl (Unix)
  • paste英语paste (Unix)
  • sed
  • sort英语sort (Unix)
  • spell英语spell (Unix)
  • strings英语strings (Unix)
  • tail
  • tr
  • uniq英语uniq
  • vi
  • wc
  • xargs
壳层内建
网络英语Network utility
查找
文档
  • apropos英语apropos (Unix)
  • help英语help (command)
  • man
软件开发
杂项
  • bc
  • cal
  • dc
  • expr
  • lp英语lp (Unix)
  • lpr
  • sleep
  • true和false
  • yes