du 命令
用途
概述磁盘使用。
语法
du [ -a | -s ] [ -k ] [ -m ] [ -g ] [ -l ] [ -r ] [ -x ] [ -H | -L ] [ 文件 ... ]
描述
du 命令显示用于文件的块的数量。 如果指定的 File 参数实际上是一个目录,就要报告该目录内的所有文件。 如果没有提供 File 参数,du 命令使用当前目录内的文件。
如果 File 参数是一个目录,那么报告的块的数量便是分配到目录中文件以及分配到目录自身的块之和。
如果 du 命令的对象是 JFS2 快照中的某个文件或目录,那么 du 命令将在创建快照时提供时间点对象的信息。 如果该快照已删除,那么此信息中将不包括所恢复的空间量。
指定 -a 标志将报告单个文件中的块数。 不管是否使用了 -a 标志,由 File 参数指定的个体文件总是要列示。
指定 -s 标志将报告目录中所有指定文件或所有文件的总块。
块计数包括每个文件的间接块。 块计数是通过 512 字节单位计算的,它与系统使用的集群大小无关。 指定 -k 标志将计算块计数 (以 1024 字节为单位)。
注意:
- 具有多个链接的文件只为一个条目计数和书写。
- 由于块计数只基于文件大小,所以在报告的块数中,未分配的块是没有包含进去的。
- 如果 du 得不到文件属性,或者无法读取目录,它就报告一个错误,并且会影响命令的退出状态。
标志
| 项 | 描述 |
|---|---|
| -a | 对于每个指定的文件,显示该文件的磁盘使用情况。 对于每个指定的目录,显示该目录(包括所有子目录)中单独每个文件的磁盘使用情况。 将该标志与 -s 标志进行对比。 |
| -g | 用 GB 单位计算块数,而不是用缺省的 512 字节单位。 对磁盘使用情况的输出值要用浮点数,这是因为如果用字节为单位的话,值会非常大。 |
| -h | 如果在命令行指定了符号链接, du 命令将统计链接引用的文件或文件层次结构的大小。 |
| -k | 用 1024 字节单位计算块数,而不是用缺省的 512 字节单位。 |
| -l | 在文件链接和多链接之间均匀地分配块。 根据缺省值,有两个或者更多链接的文件只计数一次。 |
| -L | 如果在命令行指定了符号链接或者在文件层次结构的遍历中多次遇到符号链接,那么 du 命令应统计链接引用的文件或文件层次结构的大小。 |
| -M | 用 MB 单位计算块数,而不是用缺省的 512 字节单位。 对磁盘使用情况的输出值要用浮点数,这是因为如果用字节为单位的话,值会非常大。 |
| -r | 报告不可访问的文件或者目录名。 这是缺省情况。 |
| -s | 对于每个指定的文件,显示该文件的磁盘使用情况。 对于每个指定的目录,显示该目录(包括所有子目录)中所有文件的总体磁盘使用情况。 将该标志与 -a 标志进行对比。 |
| -x | 在评估文件大小时,只评估那些与File 参数指定的文件或者目录驻留在相同设备上的文件。 例如,您可以指定一个 在多个设备上包含文件的目录。 这种情况下,-x 标志就为与目录驻留在相同设备的所有文件显示块的大小。 |
注意:
- 如果 -k、-m 和 -g 标志被同时指定或指定任意两个,那么最后指定的一个标志有效。 用标志 -m 和 -g 输出磁盘使用情况就会近似成最接近的第二位十进制数。
- 如果同时指定互斥选项 -H 和 -L,那么该命令不会报告错误。 最后一个指定选项确定实用程序的行为。
退出状态
本命令返回以下退出值:
| 项 | 描述 |
|---|---|
| 重大安全事件数量 | 成功完成。 |
| > 0 | 发生错误。 |
示例
- 要概述一个目录树及其每个子树的磁盘使用情况,请输入:
这将显示/home/fran目录及其每个子目录。du /home/fran - 要通过 1024 字节块概述一个目录树及其每个子树的磁盘使用情况,请输入:
这在 /home/fran 目录及其每个子目录中显示了 1024 字节磁盘块数。du -k /home/fran - 要通过 MB 磁盘块概述一个目录树及其每个子树的磁盘使用情况,请输入:
这在 /home/fran 目录及其每个子目录中显示了 MB 磁盘块数(近似到最接近的第二位十进制数)。du -m /home/fran - 要通过 GB 块概述一个目录树及其每个子树的磁盘使用情况,请输入:
这在 /home/fran 目录及其每个子目录中显示了 GB 磁盘块数(近似到最接近的第二位十进制数)。du -g /home/fran - 要显示每个文件磁盘使用情况,请输入:
这将显示每个文件和子目录中包含的磁盘块数。/home/fran目录。 在目录旁的数字就是该目录树的磁盘使用情况。 在常规文件旁的数字就是该文件单独的磁盘使用情况。du -a /home/fran - 要只显示一个目录树的全部磁盘使用情况,请输入:
-s 标志指示 du 命令只显示/home/fran目录及其包含的文件。 通过缺省值,如果 du 命令无法读取一个文件或者目录,就显示一条错误消息。du -s /home/fran - 除了在
/home/fran的遍历中找到的常规文件,还要显示所有符号链接引用的文件或文件层次结构的磁盘使用,请输入:du -L /home/fran - 要报告符号链接
mylink引用的文件或文件层次结构的磁盘使用,请输入:du -H mylink
文件
| 项 | 描述 |
|---|---|
| /usr/bin/du | 包含命令du。 |