【Linux】du命令详解
目录
在Linux环境中,查看目录或文件的磁盘空间大小是很常见的需求,使用du命令即可帮助我们达到该目的。
命令格式
|
|
选项
常用的可选参数为:
-
-a:--all,列出所有文件和目录的容量大小(默认只列出目录容量的大小)。 -
-h: 以已读的形式显示。 -
-B:--block-size=SIZE,指定容量的单位值,size可以是1,k,或者m,如-B1。 -
-k:--block-size=1k,以KB为单位。 -
-m:--block-size=1m,以MB为单位。 -
-c:--total,额外显示总的容量大小。 -
-s:仅显示总量大小。 -
--max-depth:显示指定层级的目录。 -
--exclude=<文件或目录>:忽略指定目录或文件。
示例
-
显示当前目录及子目录大小
1du -
显示指定文件所占空间
1du filename -
仅显示当前目录所占空间大小
1du --max-depth=1 -
仅显示当前目录总的容量大小
1 2 3 4# 使用 -s du -sh # 使用--max-depth du -h --max-depth=0
du和ls -l
除了可以使用du查看目录或文件大小外,还可以使用ls -l查看文件或目录的大小,但是二者获得的结果有所差异。
-
ls -l的结果小于du的结果du是文件占用block的大小,在linux中,一个block的大小为4k。而ls -l是文件的实际大小,所以即使文件只有1bytes,du获得的结果也会是4k。 -
ls -l的结果大于du的结果当文件出现空洞的时候会出现这种结果,即磁盘空间被占用,但是里面没有数据。