du 命令
2024年11月1日大约 2 分钟
du(Disk Usage)是 Unix 和 Linux 系统中的一个命令,用于显示文件和目录占用的磁盘空间。通过 du 命令,用户可以查看目录或文件的大小,并可以选择以不同的单位显示数据,便于分析磁盘使用情况。
基本语法
du [选项] [文件或目录名]常用选项
-h:以人类可读的格式显示大小(如 KB、MB、GB)。-s:只显示总计,不显示子目录的大小(适用于单个文件或目录的大小)。-a:显示所有文件和目录的大小(包括子目录和文件)。-c:显示总计大小(适用于多个文件或目录)。-d N:显示指定深度(depth)层级的目录大小,N 表示深度层级。-m:以 MB 为单位显示大小。-k:以 KB 为单位显示大小(默认单位)。--max-depth=N:仅显示到第 N 层目录的大小。
示例
1. 查看当前目录及其子目录的磁盘使用情况
du -h # 当前目录下的所有目录及文件大小,以人类可读格式显示2. 查看特定目录的大小
du -sh /path/to/dir # 仅显示目录 /path/to/dir 的总大小(简洁显示)3. 查看所有文件和目录的大小
du -ah /path/to/dir # 显示目录及其包含的所有文件和子目录的大小4. 查看目录的总大小并显示总计
du -ch /path/to/dir # 显示每个子目录的大小,并在最后显示总计5. 查看指定深度的目录大小
du -h --max-depth=1 # 仅显示当前目录下的第一层子目录的大小
du -h --max-depth=2 # 显示当前目录及其两层子目录的大小6. 查看以特定单位显示的大小
du -m /path/to/dir # 以 MB 为单位显示目录大小
du -k /path/to/dir # 以 KB 为单位显示目录大小常用场景
- 分析磁盘空间占用:快速查看哪个目录或文件占用了较多磁盘空间,帮助用户进行清理和优化。
- 查看目录结构大小:结合
--max-depth可以仅查看特定层级的目录大小,适合分析某个目录下的各子目录的空间占用情况。
注意事项
du计算的是目录和文件实际占用的磁盘空间,而不是文件的逻辑大小;有时由于文件系统的分配块大小不同,文件的磁盘占用空间会大于其实际内容大小。