LINUX du -ah 查看磁盘空间使用情况
·
du -ah 是 Linux 系统中用于查看磁盘空间使用情况的常用命令组合。下面详细解释其含义、作用以及典型用法。
命令解析:du -ah
du:即 “disk usage”,用于估算文件或目录占用的磁盘空间量。-a:代表 “all”。默认情况下,du命令只显示目录的汇总大小。加上-a选项后,它会列出指定目录下所有文件和子目录各自占用的空间大小。-h:代表 “human-readable”。它会让命令的输出以易读的单位(如 K、M、G)显示大小,而不是默认的字节数,使得结果一目了然。
因此,du -ah 的作用是:以人类易读的格式,递归地显示指定目录(默认为当前目录)中每个文件、子目录以及目录本身占用的磁盘空间。
常用场景与示例
-
查看当前目录下所有项目的详细大小 直接在命令行输入
du -ah,会列出当前目录下所有文件和子目录的占用空间。 -
查看指定目录的详细占用情况 在命令后加上目标路径即可,例如
du -ah /home/user/documents,会显示该路径下所有内容的磁盘使用情况。 -
结合其他命令进行深度分析
- 限制查看深度:使用
--max-depth=N选项可以控制递归的层级。例如,du -ah --max-depth=1只显示当前目录下一级子项(文件和目录)的大小,而不会深入其子目录。 - 按大小排序:为了快速找出占用空间最大的文件或目录,可以结合
sort命令。例如:
这条命令会先获取当前目录下一级子项的大小,然后通过du -ah --max-depth=1 | sort -hrsort -hr进行从大到小的排序(-h支持人类可读格式的数值排序,-r表示反向排序)。这对于排查磁盘空间不足的问题非常有效。 - 仅查看大文件:可以使用
--threshold选项过滤掉小文件。例如,du -ah --threshold=100M只会显示大小超过 100MB 的条目,帮助聚焦于主要空间占用者。
- 限制查看深度:使用
与其他 du 选项的对比
du -sh:-s(summarize) 选项与-a相反,它只显示目录的总计大小,而不列出其中的具体文件和子目录。du -sh是快速了解一个目录整体占用空间的快捷方式。du -sh *:这是一个非常实用的组合。它在当前目录下执行,会分别显示每个子项(文件或目录)的汇总大小,然后可以通过管道传递给sort -h进行排序,例如du -sh * | sort -h。
总结来说,du -ah 是一个强大的基础命令,适合需要详细分析目录内磁盘空间分布的场景。通过结合 --max-depth、sort、--threshold 等工具,可以构建出更高效、针对性更强的磁盘空间分析命令链。
更多推荐

所有评论(0)