zzxworld

Linux du 命令使用指南

Linux du 命令使用指南

du 命令在 Linux 系统中可以方便准确的计算每个文件的大小,如果是目录则计算目录下所有文件的总大小。

du 命令格式

du [选项]... [文件]...
du [OPTION]... --files0-from=F

du 命令示例

显示当前位置下所有子目录的大小,默认单位为 KB:

du

显示目录大小单位:

du -h

统计并汇总当前目录下所有文件的大小:

du -hs

统计指定目录下第一层级每个文件或目录的大小:

du -hs ./*

统计指定目录下每个文件大小的同时,在最后输出总计大小:

du -hsc ./*

统计指定目录下文件的大小,并按顺序从大到小排序(这里通过管道方法借助了 sort 命令的排序能力):

du -hs ./* | sort -hr

du 命令选项参考

缩写 完整名称 说明
-0 --null 使每行输出以 NUL 字符结束,不添加换行符
-a --all 输出所有文件的磁盘用量,不仅仅是目录
--apparent-size 显示表面用量,而并非是磁盘用量;虽然表面用量通常会小一些,但有时它会因为稀疏文件间的“洞”、内部碎片、非直接引用的块等原因显得更大一些。
-B --block-size=大小 以指定大小为单位对块大小进行输出;例如,'-BM' 以 1,048,576 字节为单位输出大小;详情请参见 下方的“SIZE 格式”部分
-b --bytes 等效于 '--apparent-size --block-size=1'
-c --total 显示总计信息
-D --dereference-args 只在符号链接显式在命令行列出时对其进行解引用
-d --max-depth=N 仅当目录(或在 --all 选项启用时包括文件)层级不高于命令行参数指定的 N 层时输出对应目录或文件的对应大小;--max-depth=0 等效于 --summarize
--files0-from=F 统计由文件 F 给出的由 NUL 空字符结束的文件名列表所对应各个文件的信息;如果 F 是 -,则从标准输入读取文件名列表
-h --human-readable 以人类可读的格式输出大小(例如,1K 234M 2G)
--inodes 列出 inode 使用信息而非块使用信息
-k 等效于 --block-size=1K
-L --dereference 解引用所有符号链接
-l --count-links 如果是硬连接,则重复计算其尺寸
-m 等效于 --block-size=1M
-P --no-dereference 不跟随任何符号链接(默认行为)
-S --separate-dirs 不包括子目录的占用量
--si 类似 -h,但使用 1000 的倍数,而非 1024
-s --summarize 只分别计算命令列中每个参数所占的总用量
-t --threshold=大小 如果指定大小为正值,排除比该值更小的项,或者在值为负时排除更大的项
--time 显示目录中或其子目录下所有文件的最后修改时间
--time=关键字 显示指定关键字对应的时间而非最后修改时间:atime, access, use, ctime 或 status
--time-style=格式 使用指定格式显示时间,格式可以为:full-iso, long-iso, iso 或 +FORMAT;FORMAT 字符串以与 'date' 工具类似的方式解读
-X --exclude-from=文件 排除所有与指定文件所提供模式匹配的文件
--exclude=模式 排除所有与所给模式匹配的文件
-x --one-file-system 跳过位于不同文件系统上的目录
--help 显示此帮助信息并退出
--version 显示版本信息并退出