译自 How to Get the Size of a Directory in Linux,补充整理来源于网络
1. du 命令简介
du
命令为disk usage
的缩写,是一个计算磁盘上目录或文件占用空间的工具,它可以用来显示文件系统上的目录、单个/多个文件所占用的磁盘空间。
这与
df
命令有所不同,df
命令用来显示每个文件系统的磁盘使用量以及可用量的信息
2. 查看目录占用空间总大小
> du -csh /var /kvm
5.3G /var
7.5G /kvm
13G total
参数释义:
-c
、--total
:最后打印所有参数目录的空间占用大小总和-s
、--summarize
:仅打印各参数目录的空间占用大小总和,不打印其子目录-h
、--human-readable
:以K
、M
、G
为单位显示空间占用大小
3. 查看一级子目录占用空间大小
> du -shc /var/*
0 /var/account
0 /var/adm
2.0G /var/cache
0 /var/crash
8.0K /var/db
0 /var/empty
0 /var/games
0 /var/gopher
0 /var/kerberos
3.1G /var/lib
0 /var/local
0 /var/lock
180M /var/log
0 /var/mail
0 /var/nis
0 /var/opt
0 /var/preserve
0 /var/run
45M /var/spool
0 /var/target
32K /var/tmp
0 /var/yp
5.3G total
或者:
> du -h --max-depth=1 /var
32K /var/tmp
3.1G /var/lib
180M /var/log
0 /var/adm
2.0G /var/cache
8.0K /var/db
0 /var/empty
0 /var/games
0 /var/gopher
0 /var/local
0 /var/nis
0 /var/opt
0 /var/preserve
45M /var/spool
0 /var/yp
0 /var/kerberos
0 /var/crash
0 /var/target
0 /var/account
5.3G /var
4. 查看目录使用空间大小
添加--apparent-size
参数:
> du -sh /var
5.3G /var
> du -sh --apparent-size /var
5.2G /var
du
命令还可以通过管道与其他命令结合使用,例如以下命令将打印/var
目录下占用空间最大的前 5 个目录:
> du -h /var/ | sort -rh | head -5
5.3G /var/
3.1G /var/lib
2.8G /var/lib/docker/overlay2
2.8G /var/lib/docker
2.0G /var/cache/yum/x86_64/7