用途

统计文件或者目录占用硬盘空间大小

用法

du [OPTION] [FILE]
du [OPTION] --files0-from=F

常用参数

-a, --all
统计所有文件,不仅仅是目录

-b, --bytes
字节为单位统计

-c, --total
输出总大小

-D, --dereference-args
对命令行列出的链接文件,按照链接文件指向的真实文件大小统计,默认是链接文件的大小

--files0-from=F
从指定的文件F中读取需要统计的文件列表,多个文件名使用空字符(\0)分隔(NUL-terminated file names)。如果是"-",表示从标准输入流中读取。

-h, --human-readable
人类可读方式显示

--si
和-h选项一样,倍数是1000不是1024

-k
以k为单位

-l, --count-links
重复计算硬链接

-m
以m为单位

-L, --dereference
所有的链接文件以真实的文件大小统计

-P, --no-dereference
链接文件统计自身大小,默认

-0, --null
输出不换行显示,空字节连接

-S, --separate-dirs
统计时,不包含子目录

-s, --summarize
显示文件总的统计

-x, --one-file-system
忽略不同文件系统的目录

-X, --exclude-from=FILE
从文件中读取需要排除的文件列表,文件名可以包含shell通配符

--exclude=PATTERN
符合匹配模式的文件不统计

--max-depth=N
统计目录深度,N=0类似于-s选项,N=1统计到第一层子目录,依次类推

--help
输出帮助信息

--version
输出版本信息

实践

1.统计所有文件占用空间信息(人类可读方式显示)

 [root@vm assets]# du -ah
19M ./game/game_asia_5_release_1..5_15.zip
20M ./game/game_asia_5_release_1..0_21.zip
20M ./game/game_asia_7_debug_1..0_20.zip
59M ./game
332K ./hotgame/hotgame_asia_5_release_1.3.5.15_1.4.0..zip
332K ./hotgame
34M ./source/asia/com.pokergame.dominoqq_release_1..5_20171223183437.apk
36M ./source/asia/com.pokergame.dominoqq_release_1..0_20180113181031.apk
40M ./source/asia/com.pokergame.susun_debug_1..0_20180110113325.apk
109M ./source/asia
./source/thailand
109M ./source
167M .

2.统计空字符分隔的文件列表,链接文件显示真实的大小,以字节为单位
生成空格分隔文件列表

 [root@vm ~]# echo -e -n 'ntp.conf\0pip-9.0.1.tar.gz' > t.log
You have mail in /var/spool/mail/root
[root@vm ~]# ll
-rw-r--r--. root root Feb : t.log

统计文件占用空间

 [root@vm ~]# du -b -D --files0-from=t.log
ntp.conf
pip-9.0..tar.gz

3.不换行显示

 [root@vm assets]# du -ah -
19M ./game/game_asia_5_release_1..5_15.zip20M ./game/game_asia_5_release_1..0_21.zip20M ./game/game_asia_7_debug_1..0_20.zip59M ./game332K ./hotgame/hotgame_asia_5_release_1.3.5.15_1.4.0..zip332K ./hotgame34M ./source/asia/com.pokergame.dominoqq_release_1..5_20171223183437.apk36M ./source/asia/com.pokergame.dominoqq_release_1..0_20180113181031.apk40M ./source/asia/com.pokergame.susun_debug_1..0_20180110113325.apk109M ./source/asia0 ./source/thailand109M ./source167M .

4.统计不包含子目录

 [root@vm assets]# du -ah -S
19M ./game/game_asia_5_release_1..5_15.zip
20M ./game/game_asia_5_release_1..0_21.zip
20M ./game/game_asia_7_debug_1..0_20.zip
59M ./game
332K ./hotgame/hotgame_asia_5_release_1.3.5.15_1.4.0..zip
332K ./hotgame
34M ./source/asia/com.pokergame.dominoqq_release_1..5_20171223183437.apk
36M ./source/asia/com.pokergame.dominoqq_release_1..0_20180113181031.apk
40M ./source/asia/com.pokergame.susun_debug_1..0_20180110113325.apk
109M ./source/asia
./source/thailand
.0K ./source
.

5.显示目录总的统计

[root@vm assets]# du -h -s 167M .

6.不统计包含game关键字的文件

 [root@vm assets]# ll
total
drwxrwx---. root vboxsf Jan : game
drwxrwx---. root vboxsf Jan : hotgame
drwxrwx---. root vboxsf Jan : source
You have mail in /var/spool/mail/root
[root@vm assets]# du -s --exclude='game'
.
[root@vm assets]# du -s
.
[root@vm assets]# du -s --exclude='game'
.

7.统计子目录空间,并按降序排列

 [root@vm assets]# du -h -b --max-depth= | sort -nr
.
./source
./game
./hotgame

参考资料

【1】Linux Shell 通配符、元字符、转义符使用实例介绍
http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html
【2】man du
【3】每天一个linux命令(34):du 命令
http://www.cnblogs.com/peida/archive/2012/12/10/2810755.html
【4】Representing/quoting NUL on the command line
https://unix.stackexchange.com/questions/160598/representing-quoting-nul-on-the-command-line

N天学习一个linux命令之du的更多相关文章

  1. N天学习一个Linux命令之帮助命令:man

    前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...

  2. N天学习一个Linux命令之free

    用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [ ...

  3. N天学习一个linux命令之ping

    用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...

  4. N天学习一个linux命令之kill

    用途 用于终止进程 用法 kill [-s signal|-p] [--] pid... kill -l [signal] 说明 1.默认发送信号15(请求终止进程,程序可以捕获,操作系统会杀死没有对 ...

  5. N天学习一个linux命令之scp

    用途 通过ssh通道,不同主机之间复制文件 用法 scp [options] [user@host:]file1 [user2@host2:]file2 常用参数 -1使用 ssh 1协议 -2使用s ...

  6. 每天学习一个Linux命令-目录

    在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...

  7. 每天一个linux命令:du 命令

    Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...

  8. N天学习一个linux命令之umask

    前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...

  9. 每天一个linux命令(33)--du命令

    Linux  du命令也是查看使用空间的,但是与 df  命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df 命令有一些区别的. 1.命令格式: du  [选项] [文 ...

随机推荐

  1. hash练习们

    610. 数对的个数 ★★   输入文件:dec.in   输出文件:dec.out   简单对比时间限制:1 s   内存限制:128 MB Description出题是一件痛苦的事情!题目看多了也 ...

  2. Gym - 100162G 2012-2013 Petrozavodsk Winter Training Camp G. Lyndon Words 暴力枚举

    题面 题意:如果一个字符串的最小表示法是他自己,他就是一个Lyndon Word. 例如  aabcb 他的循环串有 abcba  bcbaa cbaab baabc 其中字典序最小的是他自己 现在给 ...

  3. [App Store Connect帮助]三、管理 App 和版本(6.2)转让 App:App 转让条件

    App 必须满足以下条件才可转让: 转让者和接收者的帐户均不处于待处理或变更状态,且双方均已接受“协议.税务和银行业务”部分中最新版本的转让协议 该 App 的任何版本都不能使用 iCloud 权限 ...

  4. centos安装 memcached

    .安装 yum -y update yum install -y libevent libevent-devel yum install -y memcached 2.配置 vi /etc/sysco ...

  5. 【BZOJ4025】二分图(可撤销并查集+线段树分治)

    题目: BZOJ4025 分析: 定理:一个图是二分图的充要条件是不存在奇环. 先考虑一个弱化的问题:保证所有边出现的时间段不会交叉,只会包含或相离. 还是不会?再考虑一个更弱化的问题:边只会出现不会 ...

  6. Eclipse中搭建Apache Tomcat7源码调试环境

    第一步:获取Apache Tomcat7源码,读者可以从Apache 官方网站获取,官方下载地址: http://tomcat.apache.org/download-70.cgi 注意选择Sourc ...

  7. Java&Xml教程(五)使用SAX方式解析XML文件

    Java SAX解析机制为我们提供了一系列的API来处理XML文件,SAX解析和DOM解析方式不太一样,它并不是將XML文件内容一次性全部加载,而是连续的部分加载. javax.xml.parsers ...

  8. 客户端通过base64上传bitmap服务器

    首先致谢:http://www.jb51.net/article/129743.htm 咱们不是代码的生产者,只是代码的搬运工. 场景描述:Android客户端需要上传头像等图片到服务器,经双方协商决 ...

  9. ScrollView在调试状态一点击就挂的原因(OnMouseActivate)

    这几天做的一个任务是做一个Dialog,需要在这个Dialog中添加一个自定义的CSrollvew类,但是遇到一个比较扯淡的问题,程序直接运行时可以的,调试状态下一点击CSrollview就挂了.而且 ...

  10. java攻城师之路--复习java web之servlet

    需要掌握的知识点:1.Servlet程序编写 ----- 生命周期2.ServletAPI Request Response 3.Cookie 和 Session Servlet 用来 动态web资源 ...