du

查询文件系统磁盘空间使用情况


语法格式

du [-0abcDhHklLmPsSx] [-B size] [-X file] [gnu-opts] [dirs]
du [-0abcDhHklLmPsSx] [-B size] [gnu-opts] --files0-from=file
du [--help] [--version]

命令简介

du命令用于显示指定目录或当前目录中每个文件、每个子目录,以及其中的每个文件占用的数据块数量(默认的单位是1KB),最终给出整个目录占用的磁盘空间总量。如果指定的命令行参数是一个普通文件,则显示指定文件占用的存储空间。

在上述第一种语法格式中,dirs是准备检查的目录或文件。如果同时指定多个目录或文件,则目录或文件之间需加空格分隔符。第二种语法格式表示从指定的文件file中读取目录或文件,检查其空间使用情况。

命令选项

-0, --null  使用NULL字符(而非换行符)作为每个输出数据行的行终止符。

-a, --all  以KB为单位,显示指定目录或当前目录中每个文件、每个子目录,以及其中每个文件占用的磁盘空间数量,最终给出整个目录占用的磁盘空间总量。如果指定的命令行参数是一个普通文件,则显示指定文件占用的存储空间。

-b, --bytes  以字节为单位,显示指定目录或当前目录包括其中所有子目录与文件占用的磁盘空间数量,最后给出累计占用的磁盘空间总量。这相当于同时指定了“--apparent-size”与“--block-size=1”选项。

-B size, --block-size=size  以指定字节数量的数据块为计数单位,显示指定目录或当前目录以及其中所有子目录占用的磁盘空间数量。其中,size是一个数字,表示字节数,也可以是KB(1000)、K(1024)、MB(10002)、M(10242)、GB(10003)、G(10243)以及T、P、E、Z或Y等字符(字符前也可以加数字),表示相应的单位。

-c, --total  以KB为单位,显示指定目录或当前目录包括其中所有子目录与文件占用的磁盘空间数量,最后给出累计占用的磁盘空间总量。

-D, --dereference-args  仅对命令行参数指定的符号链接文件,计算其引用的文件或目录。

-h, --human-readable  采用容易阅读与理解的形式显示存储空间信息,即以KB、MB或GB为单位,如12K、2.4M或2G等,显示指定目录或当前目录以及其中所有子目录占用的磁盘空间数量。

-H  相当于“-D”选项。

-k  以KB为单位,显示指定目录或当前目录以及其中所有子目录与文件占用的磁盘空间数量。通常,“-k”是du命令的默认选项,也相当于“--block-size=1K”选项。

-l, --count-links  计算所有的文件,即使是硬链接文件,也不考虑存储空间是否共用,全部按独立文件计算。

-L, --dereference  总是计算符号链接文件引用的任何文件或目录。

-m  以MB为单位,显示指定目录或当前目录以及其中所有子目录与文件占用的磁盘空间数量。“-m”选项相当于“--block-size=1M”选项。

-P, --no-dereference  总是计算符号链接文件本身,而不考虑其引用的文件或目录(这是du命令默认的做法)。

-s, --summarize  以KB为单位,显示指定目录或当前目录(包括其中的所有子目录和文件)占用的磁盘空间数量。

-S, --separate-dirs  统计时不计算子目录。

-x, --one-file-system  跳过位于不同文件系统中的目录。

-X file, --exclude-from=file  排除匹配指定文件中包括的任何模式的文件。

--apparent-size  按照文件或目录本身的大小而非分配的数据块计算其占用的存储空间。

--exclude=pattern  排除匹配指定模式的文件。这里所谓的模式只是Shell文件名模式,并非正则表达式,指定文件名模式时可以使用“?”或“*”等通配符。例如,如果指定的模式为“*.o”,表示排除匹配文件名后缀为“.o”的任何文件。

--files0-from=file  读取指定的文件,其中含有以NULL字符为文件名终止符的文件,计算并累计每个文件占用的磁盘空间。如果指定的文件为“-”,则从标准输入读取文件名。

--max-depth=n  除当前或指定目录之外,还统计其n级目录之内所有子目录占用的存储空间。如果指定了“-a”选项,也包括n级子目录内的文件。因此,“--max-depth=0”相当于“-s”选项。

--si  类似于“-h”选项,但以1000(而非1024)作为递进单位。

--time  显示任何文件或子目录的最近修改时间。

--time=word  按照word指定的时间类型显示文件或子目录的时间,其中atime、access或use均表示最近访问时间,ctime或status均表示文件状态改变时间。

应用实例

1. 查询指定目录的存储空间使用情况。

$ du -h /home/gqxing/data
2.6M    /home/gqxing/data/backup
3.8M    /home/gqxing/data/security
1.6M    /home/gqxing/data/recent
8.0M    /home/gqxing/data
$

2. 统计/boot目录占用的存储空间数量(约19MB)。

$ du -s /boot
18570   /boot
$ 

索引:A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z