Linux常用命令-du

命令

du

描述

estimate file space usage
查看文件或目录大小

用法

1
du [OPTION]... [FILE]...

选项

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Options:
-a 包括当前目录下的所有文件和子目录
-B 指定块大小,如-BM表示1,048,576bytes,如下说明
-b 以bytes字节为单位显示
-k 以K为单位显示
-m 以M为单位显示
-c 总计大小
-d 指定目录层级
-h 以可读格式显示,自动转换单位K,M,G
-s 汇总显示当前目录的所有文件和目录
-t 过滤指定大小,支持正负数即大于或小于指定大小
--inodes 显示inode值
--time 显示文件的修改时间
--time-style=STYLE 指定时间格式:full-iso, long-iso, iso, or +FORMAT;
--exclude=PATTERN 排除指定PATTERN的文件或目录
单位说明:
K, M, G, T, P, E, Z, Y (powers of 1024),如10M=10*1024*1024
KB, MB, GB, TB, ... (powers of 1000),如10MB=10*1000*1000

注意

-k, -m要以实际文件大小为准,这里只是指定块大小,如果文件本身小于1M,使用-m选项也会显示1M,但并非文件真实大小.建议先使用-b选项查看在进行大小过滤-t

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
$ du 
792 ./dir1
8 ./dir2
880 .
$ du dir*
792 dir1
8 dir2
# 以bytes为单位
$ du -b dir*
762708 dir1
32 dir2
$ du -bc dir*
762708 dir1
32 dir2
762740 total
# 自动转换为可读单位
$ du -h dir*
792K dir1
8.0K dir2
# 显示当前目录下的所有文件和目录的大小
$ du -sh *
792K dir1
8.0K dir2
4.0K new1
4.0K new2
4.0K old
# 只显示大于100K的文件或目录
$ du -sht 100K *
792K dir1
# 只显示小于5K的文件或目录
$ du -sht -5K *
4.0K a
4.0K new1
4.0K new2
4.0K old
$ du --time *
4 2021-01-22 17:23 a
792 2021-01-22 17:09 dir1
8 2021-01-22 17:44 dir2
4 2021-01-22 16:47 new1
4 2021-01-22 16:47 new2
4 2021-01-22 16:37 old
# 排除dir*字符串
$ du --exclude=dir* *
4 a
4 new1
4 new2
4 old