概述
du 命令递归地计算并输出指定文件或目录的磁盘使用量。当系统磁盘空间不足时,此命令对于确定哪些文件或目录占用了大量空间至关重要。
主要功能
- 计算文件和目录的磁盘使用量
- 支持多种输出格式(字节、K、M、G 等)
- 可仅在特定文件系统中计算
- 输出摘要信息或详细信息
主要选项
du 命令支持多种选项,以便以不同的方式提供磁盘使用量信息。
输出格式和范围
生成的命令:
请尝试组合命令。
描述:
`du` 执行命令。
通过组合这些选项,您可以与 AI 一起虚拟地执行命令。
使用示例
通过 du 命令的各种使用示例,了解如何有效地获取磁盘使用量信息。
当前目录的总使用量(人类可读)
du -sh .
以 K、M、G 为单位,摘要显示当前目录及其子目录的总磁盘使用量。
根目录的磁盘使用量(单一文件系统,人类可读)
du -shx /
计算根目录 (/) 的磁盘使用量,但跳过其他已挂载的文件系统,仅在当前文件系统内以 K、M、G 为单位显示。
特定目录的子目录使用量(人类可读,深度 1)
du -h --max-depth=1 /var/log
以 K、M、G 为单位,显示 `/var/log` 目录内每个直接子目录的磁盘使用量。
查找最大的目录(当前目录)
du -h --max-depth=1 | sort -rh | head -n 5
查找当前目录中磁盘使用量最大的 5 个直接子目录。
所有文件和目录的使用量(人类可读)
du -ah .
以 K、M、G 为单位,详细显示当前目录内所有文件和目录的磁盘使用量。
提示与注意事项
为了更有效地使用 du 命令并避免可能出现的问题,这里提供一些提示和注意事项。
du 和 df 的区别
du 计算文件和目录实际占用的空间,而 df 则报告整个文件系统的可用空间和已用空间。du 可能报告比实际文件大小更大的值,这取决于文件系统的块分配方式。
- **du**: 文件/目录的“逻辑”大小(基于实际分配的块)
- **df**: 文件系统的“物理”大小(基于整个分区)
处理大容量目录
在非常大的目录上运行 `du` 可能会花费很长时间。在这种情况下,使用 `--max-depth` 选项限制搜索深度,或者使用 `ncdu` 等交互式工具可能更有效。
权限问题
如果存在没有访问权限的目录或文件,`du` 可能会跳过这些项目或显示错误消息。要查看准确的使用量,需要适当的权限(例如,使用 `sudo`)。