用途

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

用法

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. SQLYog 快捷键

    SQLYog常用快捷键 Ctrl+M     创建一个新的连接Ctrl+N     使用当前设置新建连接Ctrl+F4    断开当前连接 对象浏览器F5         刷新对象浏览器(默认)Ctr ...

  2. python之set集合及深浅拷贝

    一.知识点补充 1.1字符串的基本操作 li =["李李嘉诚", "麻花藤", "⻩黄海海峰", "刘嘉玲"] s = ...

  3. 【Leetcode 166】 Fraction to Recurring Decimal

    Description: Given two integers representing the numerator and denominator of a fraction, return the ...

  4. css文本背景样式

    文本样式 文本类 text-transform:uppercase: 全部变为大写 text-transform:lowercase: 全部变为小写 text-transform:capitalize ...

  5. Python之NumPy实践之数组和矢量计算

    Python之NumPy实践之数组和矢量计算 1. NumPy(Numerical Python)是高性能科学技术和数据分析的基础包. 2. NumPy的ndarray:一种对位数组对象.NumPy最 ...

  6. node.js安装步骤

    首先这是node.js的官网:https://nodejs.org/en/ 截至2017年12月9日,node更新在8.9.3该版本,建议开发人员下载6.0以上版本,8以上不是很稳定!  如果有其他需 ...

  7. linux使用mount命令挂载、umount命令取消挂载

    一.mount挂载目录方式: mount 挂载目录 磁盘目录 二.umout取消挂载目录方式: 1.umout 磁盘目录 2.umout 挂载目录 3.umout 磁盘目录 挂载目录 如下图

  8. Anaconda——Python包管理工具

    Anaconda是一个用于科学计算的Python发行版,支持 Linux, Mac, Windows系统,提供了包管理与环境管理的功能 主要用于Python包管理和版本管理. 下载地址:https:/ ...

  9. 6、scala Map和Tuple

    1.  创建Map 2.访问Map元素 3.修改Map元素的值 4.遍历Map 5.SortedMap和LinkedHashMap 6.Map的元素类型Tuple 1.  创建Map 创建不可变的Ma ...

  10. mysql_数据查询_单表查询

    1.单表查询: 1.1选中表中若干列: SELECT子句的<目标列表达式>可以是表中属性列,也可以是表达式,还可以是字符常量. SELECT Sname,'year of birth:', ...