du命令
-
功能说明:显示文件或目录的大小
du命令显示指定的目录或文件所占用的磁盘空间的大小,不带任何选项,默认的单位为1KB。
-
用法:du [OPTION] [FILE]...
-
选项
选项 说明 -a 递归显示指定目录下每个文件及子目录占用的磁盘空间大小 -s 只显示指定目录或文件总共占用的磁盘空间大小 -h 以人类可读的方式显示大小 -d, --max-depth=N 显示指定的N层子目录的大小 -X<文件>, --exclude-from=<文件> 显示时忽略文件中指定的目录或文件 --exclude=PATTERN 显示时忽略指定的目录或文件
示例1:不带任何选项的du命令,显示当前目录占用磁盘空间的大小,不包含文件
[root@study ~]# du
12 ./.local/share/lftp
12 ./.local/share
12 ./.local
0 ./.config/lftp
0 ./.config
48 ./nginx-1.16.1/auto/cc
4 ./nginx-1.16.1/auto/lib/geoip
4 ./nginx-1.16.1/auto/lib/google-perftools
8 ./nginx-1.16.1/auto/lib/libatomic
4 ./nginx-1.16.1/auto/lib/libgd
...
7032 ./nginx-1.16.1
8100 .
输出结果说明:
- 第一列:以块为单位显示当前目录的磁盘空间大小
- 第二列:显示目录中的目录名称
- 最后一行:显示当前目录占用磁盘空间的总大小
示例2:使用du -a递归显示目录下的每个文件及子目录占用的磁盘空间大小
[root@study ~]# du -a
4 ./.bash_logout
4 ./.bash_profile
4 ./.bashrc
4 ./.cshrc
4 ./.tcshrc
4 ./original-ks.cfg
4 ./anaconda-ks.cfg
1012 ./nginx-1.16.1.tar.gz
4 ./nginx-1.16.1/auto/cc/acc
8100 .
示例3:使用du -h以人类可读的方式显示/etc占用的磁盘空间大小
[root@study ~]# du -h /etc/|less
72K /etc/grub.d
0 /etc/terminfo
12K /etc/skel
0 /etc/alternatives
0 /etc/chkconfig.d
40K /etc/rc.d/init.d
44K /etc/rc.d
0 /etc/security/console.apps
0 /etc/security/console.perms.d
4.0K /etc/security/limits.d
0 /etc/security/namespace.d
60K /etc/security
4.0K /etc/depmod.d
0 /etc/dracut.conf.d
12K /etc/default
12K /etc/prelink.conf.d
12K /etc/modprobe.d
4.0K /etc/rsyslog.d
31M /etc/
示例4:使用du -s显示当前目录的总大小
[root@node1 ~]# du -s /etc/
31564 /etc/
示例5:使用du -sh显示目录的总大小(以人类可读的方式)
[root@node1 ~]# du -sh /etc/
31M /etc/
示例6:使用du -d显示指定层级的目录的大小
[root@node1 ~]# du -h -d1 /usr/
64M /usr/bin
40M /usr/sbin
455M /usr/lib
159M /usr/lib64
284M /usr/share
0 /usr/etc
0 /usr/games
36K /usr/include
12M /usr/libexec
0 /usr/local
0 /usr/src
1011M /usr/
# 只显示/usr目录下一级目录的大小
示例7:显示目录时忽略指定的目录,创建a、b、c、d四个目录,显示时忽略b目录
[root@node1 tmp]# mkdir {a..d}
[root@node1 tmp]# ls
a b c d
[root@node1 tmp]# du -h --exclude=b
0 ./.ICE-unix
0 ./.font-unix
0 ./.XIM-unix
0 ./.Test-unix
0 ./.X11-unix
0 ./a
0 ./c
0 ./d
0 .