Linux命令-du

Posted by 周思进 on June 11, 2020

du 命令主要用来查看某个路径下各子目录或文件的大小

命令参数使用说明:
du [-H | -L | -P] [-a | -s | -d depth] [-c] [-h | -k | -m | -g] [-x] [-I mask] [file …]

中括号里的选项是只能选其中一个,比如 -a 、-s、-d 只能选择一个使用

默认一般都会指定-h选项,以大小可读的方式展示,下面举例几种常用的使用命令

1、
du -h dir
默认会将 dir 目录大小及该目录下面的所有子目录(注意是只到目录层面)大小都显示出来

2、
du -ah dir
该命令会将 dir 目录及 dir 下面的所有子目录下的所有文件大小都显示出来

3、
du -sh dir
该命令只会显示 dir 目录的整体大小

4、
du -h -d 1 dir
如果目录层级过多,可以指定看该目录下的多少层,如果指定0,则和 du -sh dir 是一样的,注意 -d 选项只能查看目录文件


较为常用的使用场景:
1、想查看某个目录下到底是哪些目录或者该当前目录下的文件占用了较大空间
du -sh * | sort -hr

sort 选项说明:
-r : 以大的排在前面

2、只想查看GB大小的前5个文件

du -sh * | grep ‘G’ | sort -hr | head -5

而 du命令则是统计的这个文件实际占的空间大小 ,就是不包含空洞未写的空间大小