📜  du 按大小排序 linux - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:30:34.787000             🧑  作者: Mango

以 'du' 按大小排序的 Linux 命令

du 是一个 Linux 命令,用于查看目录占用的磁盘空间大小。该命令通常常常用于排查文件系统中的大文件或文件夹,以便找出可以释放磁盘空间的内容。

本文将介绍如何使用 du 命令按照磁盘空间大小排序显示目录。

命令格式

以下是 du 命令的基本格式:

du [OPTION]... [FILE]...

其中, OPTION 是可选参数,FILE 则是要查看占用磁盘空间的文件或文件夹。

常用参数
  • -h--human-readable:以人类可读的方式显示输出结果。
  • -s--summarize:仅显示总大小。
  • -c--total:同时显示总大小。
  • -a--all:显示所有文件的大小,而不仅仅是目录。
  • -B <单位>--block-size=<单位>:设置块的大小,单位可以是 KMGT,默认单位为字节。
  • -D--dereference-args:对于符号链接,显示它们指向的文件的大小而不是链接本身的大小。
按大小排序

按大小排序可以使用 sort 命令结合 du 命令完成。将 du 命令的输出通过管道传输给 sort 命令,再使用 -hr(按照人类可读的方式进行排序)参数排序,最后使用 awk 命令格式化输出即可。

以下是示例代码:

du -h /path/to/directory | sort -hr | awk '{print $1"\t"$2}'

其中,/path/to/directory 是要排序的目录路径。

输出结果类似如下内容:

1023M   /path/to/directory
512K    /path/to/directory/file.txt
256K    /path/to/directory/subfolder
128K    /path/to/directory/subfolder/another-file.txt
总结

du 命令是一个用于查看目录占用磁盘空间大小的工具,而通过结合 sort 命令可以将输出结果按照大小排序。在实际使用时,可以根据具体需要结合不同的参数进行使用。