网站搜索

如何在 Linux 中查找顶级目录和文件(磁盘空间)


作为 Linux 管理员,您必须定期检查哪些文件和文件夹消耗了更多磁盘空间。找到不必要的垃圾并将其从硬盘中释放出来是非常有必要的。

本简短教程介绍如何使用 du(磁盘使用情况)和 find 命令查找 Linux 文件系统中最大的文件和文件夹。如果您想了解有关这两个命令的更多信息,请参阅以下文章。

  • 了解 Linux 中 10 个有用的“du”(磁盘使用)命令
  • 通过这 35 个实际示例掌握“查找”命令

如何在 Linux 中查找最大的文件和目录

运行以下命令找出 /home 分区下最大的目录。

du -a /home | sort -n -r | head -n 5

上面的命令显示了我的 /home 分区中最大的 5 个目录。

查找 Linux 中最大的目录

如果要显示当前工作目录中最大的目录,请运行:

du -a | sort -n -r | head -n 5

让我们分解该命令并查看每个参数的含义。

  • du 命令:估计文件空间使用情况。
  • a :显示所有文件和文件夹。
  • sort 命令:对文本文件的行进行排序。
  • -n :根据字符串数值进行比较。
  • -r :反转比较结果。
  • head :输出文件的第一部分。
  • -n :打印前“n”行。 (在我们的例子中,我们显示了前 5 行)。

有些人希望以人类可读的格式显示上述结果。即,您可能希望以 KBMBGB 为单位显示最大文件。

du -hs * | sort -rh | head -5

上面的命令将显示顶级目录,这些目录占用了更多的磁盘空间。如果您觉得某些目录不重要,您可以简单地删除几个子目录或删除整个文件夹以释放一些空间。

要显示最大的文件夹/文件(包括子目录),请运行:

du -Sh | sort -rh | head -5

使用上面的命令找出每个选项的含义:

  • du 命令:估计文件空间使用情况。
  • -h:以人类可读格式打印大小(例如,10MB)。
  • -S :不包括子目录的大小。
  • -s :仅显示每个参数的总计。
  • sort 命令:对文本文件的行进行排序。
  • -r :反转比较结果。
  • -h :比较人类可读的数字(例如 2K、1G)。
  • head :输出文件的第一部分。

仅找出最重要的文件大小

如果您只想显示最大文件大小,请运行以下命令:

find -type f -exec du -Sh {} + | sort -rh | head -n 5

要查找特定位置中最大的文件,只需在 find 命令旁边包含路径即可:

find /home/tecmint/Downloads/ -type f -exec du -Sh {} + | sort -rh | head -n 5
OR
find /home/tecmint/Downloads/ -type f -printf "%s %p\n" | sort -rn | head -n 5

上面的命令将显示 /home/howtoing/Downloads 目录中最大的文件。

目前为止就这样了。找到最大的文件和文件夹没什么大不了的。即使是新手管理员也可以轻松找到它们。如果您发现本教程有用,请在您的社交网络上分享并支持 TecMint。