N天学习一个linux命令之du
用途
统计文件或者目录占用硬盘空间大小
用法
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的更多相关文章
- N天学习一个Linux命令之帮助命令:man
前言 工作中每天都在使用常用的命令和非常用的命令,忘记了用法或者参数,都会bing一下,然后如此循环.一直没有真正的系统的深入的去了解命令的用法,我决定打破它.以前看到有人,每天学习一个linux命令 ...
- N天学习一个Linux命令之free
用途 查看系统内存(物理/虚拟/缓存/共享)使用情况 用法 free [-b | -k | -m | -g | -h] [-o] [-s delay ] [-c count ] [-a] [-t] [ ...
- N天学习一个linux命令之ping
用途 检测主机是否可到达,也就是说,目标主机是否可以联网,还可以用于检测网速.通过发送ICMP ECHO_REQUEST数据包检测. 用法 ping [options] destination 常用选 ...
- N天学习一个linux命令之kill
用途 用于终止进程 用法 kill [-s signal|-p] [--] pid... kill -l [signal] 说明 1.默认发送信号15(请求终止进程,程序可以捕获,操作系统会杀死没有对 ...
- N天学习一个linux命令之scp
用途 通过ssh通道,不同主机之间复制文件 用法 scp [options] [user@host:]file1 [user2@host2:]file2 常用参数 -1使用 ssh 1协议 -2使用s ...
- 每天学习一个Linux命令-目录
在工作中总会零零散散使用到各种Linux命令,从今天开始详细的学习一下linux常用命令,坚持每天一个命令,学习的主要参考资料为: 1.竹子-博客(https://www.cnblogs.com/pe ...
- 每天一个linux命令:du 命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的. 1.命令格式: du [选项][文件] 2.命令功能 ...
- N天学习一个linux命令之umask
前言 umask不是linux命令,而是shell内置的指令,俗称用户权限掩码,用于对用户创建的文件和目录设置默认权限.默认的权限掩码是0022,也就是说新创建的文件权限是0644,新创建的目录权限是 ...
- 每天一个linux命令(33)--du命令
Linux du命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df 命令有一些区别的. 1.命令格式: du [选项] [文 ...
随机推荐
- GoLang 编译exe添加ICO图标
我们在做Go开发的时候在Window平台下编译出来的exe后大部分都是没有图标,看起来很难看.下面我们说下如何添加一个图标. 1.首先在根目录下,exe的同级目录下创建.rc文件, IDI_ICON1 ...
- HDU 3007 最小圆覆盖 计算几何
思路: 随机增量法 (好吧这数据范围并不用) //By SiriusRen #include <cmath> #include <cstdio> #include <al ...
- jsp动态网页开发基础
JSP基础语法 jsp页面元素构成 jsp页面组成部分有:指令,注释,静态内容,表达式,小脚本,声明. 1.表达式<%= %> 2.小脚本<% %> 3.声 ...
- .net Jquery动态显示当前时间
<span id="Timer"></span> <script type="text/javascript"> $(fun ...
- 8.Layers Editor
图层编辑 Ventuz5中有两种类型的场景,分别是2D图层和3D图层.3D图层包含Content和Hierarchy,而2D图层只包含Content.默认情况下,图层编辑器显示在Ventuz中的左上角 ...
- R 连接数据库长数字被科学计数法解决方法
数据库中的订单编号
- 六时车主 App iOS隐私政策
本应用尊重并保护所有使用服务用户的个人隐私权.为了给您提供更准确.更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息.但本应用将以高度的勤勉.审慎义务对待这些信息.除本隐私权政策另 ...
- python读取单个文件操作
python读取单个文件,参考<笨方法学python>的第15节. 运行方式是采用:python python文件名 要读取的文件名 代码中 script, filename = argv ...
- 关于python中的staticmethod
python中的staticmethod 主要是方便将外部函数集成到类体中,美化代码结构,重点在不需要类实例化的情况下调用方法 如果你去掉staticmethod,在方法中加self也可以通过实例化访 ...
- 不用float也可以让div横向显示
display: inline-block; vertical-align: top; 就这两个属性,给div设置上,div就不会换行显示啦,而且还不影响横向的其他元素的显示.