du -h
是 Linux 系统中的一个命令,用于估算文件和目录所占用的磁盘空间。du
是 disk usage 的缩写,而 -h
参数表示以人类可读的格式(如 K、M、G)显示大小。
-h
参数使得输出的磁盘使用量更加直观易懂。du
命令有多种用法,包括查看单个文件的大小、目录的总大小、递归查看子目录的大小等。如果你想要对 du -h
的输出进行排序,可以结合 sort
命令使用。例如,以下命令将列出当前目录及其子目录下的所有文件和文件夹,并按大小降序排序:
du -h --max-depth=1 | sort -hr
这里:
--max-depth=1
表示只统计当前目录下一级的文件和目录。sort -hr
中 -h
表示按人类可读的数字大小排序,-r
表示逆序(即从大到小)。问题: 输出结果未按预期排序。
原因: 可能是由于 sort
命令未正确处理人类可读的数字格式。
解决方法: 确保使用 -h
参数与 sort
命令一起使用,以便正确解析和排序 K、M、G 等单位。
# 列出当前目录及其子目录下的所有文件和文件夹,并按大小降序排序
du -h --max-depth=1 | sort -hr
这个命令会首先使用 du -h --max-depth=1
获取当前目录下一级的磁盘使用情况,然后通过管道传递给 sort -hr
进行排序。
通过这种方式,你可以快速识别出哪些文件或目录占用了最多的空间,从而进行相应的管理和优化。
领取专属 10元无门槛券
手把手带您无忧上云