如何在 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 行)。
有些人希望以人类可读的格式显示上述结果。即,您可能希望以 KB、MB 或 GB 为单位显示最大文件。
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。