0%

du命令

一、常用用法

1
du --apparent-size -sh 文件路径(文件可以是目录,也可以是一般文件)

二、含义与选项

2.1、含义

当文件为“一般文件”时,计算该文件的“使用大小”;当文件为“目录”时,计算“该目录自身的占用大小+目录下所有子文件(递归进行)的大小”之和。递归计算时,“一般文件”的大小还是“使用大小”,“目录”的大小还是“占用大小”(关于文件的“使用大小”和“占用大小”可见《Ext文件系统中,文件的“占用大小”和“使用大小”》)。

2.2、选项

“–apparent-size”:加上该选项,计算时,“一般文件”的大小为“使用大小”,“目录”的大小为“占用大小”。
“-s”:当“du”命令的操作对象是一个目录时,不打印该目录下子文件的大小,只打印目录总大小。
“-h”:以人类可读形式打印文件大小。

三、其他

3.1、“du”命令的按字节统计工作方式

加上“–block-size=1”选项,可使用“du”命令的按字节统计工作方式。

3.1.1、一般文件

有一个一般文件“file.md”,分别执行ls -l file.mddu --apparent-size --block-size=1 file.md命令,得到如下两个执行结果,可知两个计算文件大小的命令结果一致。

1
-rw-rw-r-- 1 dsl dsl 34998 12月 22 21:32 file.md
1
34998	file.md

3.1.2、目录

有一个空目录“sizedir”,分别执行ls -ldu --apparent-size --block-size=1 sizedir命令,得到如下两个执行结果,可知两个计算文件大小的命令结果一致。

1
drwxrwxr-x  2 dsl dsl 4096 12月 22 22:49 sizedir
1
4096	sizedir

3.2、加上“h”选项后的计算误差

《ls命令》文章内“三、其他”小节描述的一样,加上“h”选项后,计算大小时,会有计算误差产生。

3.2.1、一般文件

分别执行ls -lh file.mddu --apparent-size -h file.md命令,得到如下两个执行结果,可知两个计算文件大小的命令结果一致。

1
-rw-rw-r-- 1 dsl dsl 35K 12月 22 21:32 file.md
1
35K	file.md

3.2.2、目录

分别执行ls -lhdu --apparent-size -h sizedir命令,得到如下两个执行结果,可知两个计算文件大小的命令结果一致。

1
drwxrwxr-x 2 dsl dsl 4.0K 12月 22 23:18 sizedir
1
4.0K	sizedir

参考文献: [1]man du
您的支持将鼓励我继续分享!