du命令是disk usage
的缩写,打印文件或目录使用的磁盘空间量估算。这对于查找占用大量磁盘空间的文件和目录非常有用。
du
命令的默认行为是打印文件目录占用的磁盘空间,而不是真是的文件大小。要打印文件目录真实大小,请使用du
命令--apparent-size
选项。
要理解这一点请先阅读我们教程什么是inode。然后理解这句话:如果磁盘的分区的块大小4096字节,那么即使文件没有4096字节的大小也会占用一个块的大小。
du 命令单位
du
命令默认使用千字节的单位打印文件目录的大小。但是如果你需要指定du
命令打印大小的单位可以使用选项--block-size
指定。
也可以使用一些du
命令预定义的单位选项,例如选项-m
以兆字节打印文件目录大小,也就是单位M。
du
命令的--block-size
选项可以接受的单位可以是任意大小的数值和单位组成的值包括M,G,T等。
例如命令du -csh --block-size=500M ~/Downloads
使用500M的大小作为单位,du命令将会文件目录大小除以500M打印大小。
du -csh --block-size=1G ~/Downloads
du -csh --block-size=500M ~/Downloads
du 命令自动选择大小单位
通常在很多情况下,我们只需要使用du
命令的-h
选项就足够应付日常的使用。
du
命令的-h
选项会自动根据文件大小选择合适的大小单位打印目录文件夹的大小。
例如命令sudo du -h /var
打印/var/lib
文件目录大小,大文件与目录将会以1K,234M,2G的方式打印。
sudo du -h /var
4.0K /var/log/sysstat
.......
46G /var