语法
du [-abcDhHklmsSx][-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>][--max-depth=<目录层数>][--help][--version][目录或文件]
功能
du会显示指定的目录或文件所占用的磁盘空间。
参数
- -a或-all 显示目录中个别文件的大小。
- -b或-bytes 显示目录或文件大小时,以byte为单位。
- -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
- -D或–dereference-args 显示指定符号连接的源文件大小。
- -h或–human-readable 以K,M,G为单位,提高信息的可读性。
- -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
- -k或–kilobytes 以1024 bytes为单位。
- -l或–count-links 重复计算硬件连接的文件。
- -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
- -m或–megabytes 以1MB为单位。
- -s或–summarize 仅显示总计。
- -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
- -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
- -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
- –exclude=<目录或文件> 略过指定的目录或文件。
- –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
- –help 显示帮助。
- –version 显示版本信息。
使用实例
显示当前工作空间下文件容量,递归
[root@Ethan Ethan]# tree
. #4k
├── a.d #4k
│ ├── b1.d #4k
│ ├── b2.d #4k
│ ├── b3.d #4k
│ └── b.d #4k
│ └── c.d #4k
├── admin #4k
│ ├── a-b.txt -> a.txt #0k
│ ├── a-l.txt #0k
│ ├── a-s-b.txt #0k
│ ├── a-s.txt -> a.txt #0k
│ ├── a.txt #0k
│ └── b.d #4k
│ └── a.txt #0k
├── a.out #12k
├── a.txt #0k
└── hello.c #4k
[root@Ethan Ethan]# du
4 ./admin/b.d
8 ./admin #这个其实是sum(admin+b.d+其余为0的目录文件)
4 ./a.d/b2.d
4 ./a.d/b3.d
4 ./a.d/b.d/c.d
8 ./a.d/b.d
4 ./a.d/b1.d
24 ./a.d
52 .
在默认情况下,只显示当前工作空间下目录的容量,而不显示文件大小。默认的容量单位为1KB。
上面列出了每一项所占用的空间大小,下面du所显示的每一项为目录下及目录自己本身所占用的空间大小。
显示当前工作目录下所有目录文件容量,无递归
[root@Ethan Ethan]# du -s ./*
24 ./a.d
8 ./admin
12 ./a.out
0 ./a.txt
4 ./hello.c
排除子目录进行统计
[root@Ethan Ethan]# tree
. #4k
├── a.d #4k
│ ├── b1.d #4k
│ ├── b2.d #4k
│ ├── b3.d #4k
│ └── b.d #4k
│ └── c.d #4k
├── admin #4k
│ ├── a-b.txt -> a.txt #0k
│ ├── a-l.txt #0k
│ ├── a-s-b.txt #0k
│ ├── a-s.txt -> a.txt #0k
│ ├── a.txt #0k
│ └── b.d #4k
│ └── a.txt #0k
├── a.out #12k
├── a.txt #0k
└── hello.c #4k
[root@Ethan Ethan]# du -S
4 ./admin/b.d
4 ./admin
4 ./a.d/b2.d
4 ./a.d/b3.d
4 ./a.d/b.d/c.d
4 ./a.d/b.d
4 ./a.d/b1.d
4 ./a.d
20 .
只统计目录下的最底层节点。
如“.”的空间大小计算=“.(4k)+a.out(12k)+hello.c(4k)”