du(Disk Usage) - 报告磁盘空间使用情况
-a, --all
显示对所有文件的统计,而不只是包含子目录。
-b, --bytes
输出以字节为单位的大小,替代缺省时1024字节的计数单位。
--block-size=size
输出以块为单位的大小,块的大小为 size 字节。( file- utils-4.0 的新选项)
-c, --total
在处理完所有参数后给出所有这些参数的总计。这个选项被 用给出指定的一组文件或目录使用的空间的总和。
-D, --dereference-args
引用命令行参数的符号连接。但不影响其他的符号连接。 这对找出象 /usr/tmp 这样的目录的磁盘使用量有用, /usr/tmp 等通常是符号连接。 译住:例如在 /var/tmp 下建立一个目录test, 而/usr/tmp 是指向 /var/tmp 的符号连接。du /usr/tmp 返回一项 /usr/tmp , 而 du - D /usr/tmp 返回两项 /usr/tmp,/usr/tmp/test。
--exclude=pattern
在递归时,忽略与指定模式相匹配的文件或子目录。模式 可以是任何 Bourne shell 的文件 glob 模式。( file- utils-4.0 的新选项)
-h, --human-readable
为每个数附加一个表示大小单位的字母,象用M表示二进制 的兆字节。
-H, --si
与 -h 参数起同样的作用,只是使用法定的 SI 单位( 用 1000的幂而不是 1024 的幂,这样 M 代表的就是1000000 而不是 1048576)。(fileutils-4.0 的新选项)
-k, --kilobytes
输出以1024字节为计数单位的大小。
-l, --count-links
统计所有文件的大小,包括已经被统计过的(作为一个硬连接)。
-L, --dereference
引用符号连接(不是显示连接点本身而是连接指向的文件或 目录所使用的磁盘空间)。
-m, --megabytes
输出以兆字节的块为计数单位的大小(就是 1,048,576 字节)。
--max-depth=n
只输出命令行参数的小于等于第 n 层的目录的总计。 --max-depth=0的作用同于-s选项。(fileutils-4.0的新选项)
-s, --summarize
对每个参数只显示总和。
-S, --separate-dirs
单独报告每一个目录的大小,不包括子目录的大小。
-x, --one-file-system
忽略与被处理的参数不在同一个文件系统的目录。
-X file, --exclude-from=file
除了从指定的文件中得到模式之外与 --exclude 一样。 模式以行的形式列出。如果指定的文件是'-',那么从标准输 入中读出模式。(fileutils-4.0 的新选项) GNU 标准选项
--help
在标准输出上输出帮助信息后正常退出。
--version
在标准输出上输出版本信息后正常退出。
例1
[root@rudder ~]# du #查看当前目录下的,所有文件和目录
284 ./.cache/wallpaper
288 ./.cache
20 ./ar_test
364 .
[root@rudder ~]# du -ah #详细查看当前目录,子目录下的,所有文件和目录
4.0K ./.bashrc
4.0K ./abc.sh
4.0K ./.viminfo
4.0K ./.bash_logout
0 ./.Xauthority
4.0K ./rec00001abc.sh.bz2
12K ./examples.desktop
4.0K ./abc.sh.bz2
0 ./.cache/motd.legal-displayed
280K ./.cache/wallpaper/0_5_1024_768_792beab7550410d531e55f95b449f135
284K ./.cache/wallpaper
288K ./.cache
4.0K ./.profile
4.0K ./.bash_history
4.0K ./ar_test/ar.test
4.0K ./ar_test/mytest.a
0 ./ar_test/test1.o
4.0K ./ar_test/ar.text
4.0K ./ar_test/bb.a
20K ./ar_test
4.0K ./test.bz2
4.0K ./test
364K .
[root@rudder ~]# du test.bz2 #查看单个文件
4 test.bz2
例2
[tank@node1 ~]$ du -ah --max-depth=1 ./cdn #统计cdn目录下,第一层的文件大小
5.4M cdn/OpenCDN2.0
480K cdn/ocdn_node
3.8M cdn/ocdn_console_last.tar.gz
2.0M cdn/OpenCDN2.0.tar.gz
368K cdn/ocdn_node_last.tar.gz
8.4M cdn/ocdn_console
21M cdn
[tank@node1 cdn]$ du -sm * | sort -n #统计当前目录大小,并安大小排序
1 ocdn_node
1 ocdn_node_last.tar.gz
2 OpenCDN2.0.tar.gz
4 ocdn_console_last.tar.gz
6 OpenCDN2.0
9 ocdn_console
例3
[root@network ~]# du -h --time --max-depth=1 | sort -hr #按大小排序目录(查看文件目录大小
16M 2016-01-31 11:16 .
164K 2014-03-29 18:56 ./.gconf
148K 2014-03-29 18:56 ./.pulse
60K 2014-03-29 11:03 ./.gconfd
28K 2014-03-29 18:56 ./.gnome2
28K 2014-03-29 18:56 ./.config
20K 2014-03-29 18:56 ./.local
20K 2014-03-29 18:56 ./.cache
12K 2014-03-29 18:56 ./.dbus
8.0K 2015-10-30 14:00 ./.ssh
8.0K 2014-05-07 15:57 ./.pki
4.0K 2015-09-21 19:05 ./test
4.0K 2014-03-29 18:56 ./Videos
4.0K 2014-03-29 18:56 ./Templates
4.0K 2014-03-29 18:56 ./Public
4.0K 2014-03-29 18:56 ./Pictures
4.0K 2014-03-29 18:56 ./.nautilus
4.0K 2014-03-29 18:56 ./Music
4.0K 2014-03-29 18:56 ./.gvfs
4.0K 2014-03-29 18:56 ./Downloads
4.0K 2014-03-29 18:56 ./Documents
4.0K 2014-03-29 18:56 ./Desktop
4.0K 2014-03-29 18:56 ./.abrt
例4
# du -h --exclude='*nginx*' #列出当前目录中的目录名不包括xyz字符串的目录的大小
# du log2012.log #显示指定文件所占空间
# du -c log30.tar.gz log31.tar.gz #显示几个文件或目录各自占用磁盘空间的大小,还统计它们的总和
4 log30.tar.gz
4 log31.tar.gz
8 总计
例5
[root@server data]# du -h --max-depth=1 #查看各文件夹大小命令
15G ./webapps
16K ./lost+found
17G ./mariadb
评论