帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何查找和列出Linux系统中最大的文件

如何查找和列出Linux系统中最大的文件

发布时间:2022年12月21日 11:24:50    来源: A5互联

随着时间的推移,当您的服务器系统被大量不必要的文件弄得乱七八糟时,会消耗更多的磁盘空间,这主要是由于大型日志或备份文件造成的。

但是,您有find和 du 命令可以帮助您估计当前工作目录或整个系统中的文件大小,并且通过管道传输另一个命令,您可以根据它们的大小列出它们。

在本教程中,您将学习如何使用“ find”和“ du”命令查找和列出 Linux 系统中最大的文件和目录。

使用 find 命令递归查找并列出最大的文件

find 命令是一种高级工具,可以使用不同的参数(如基于访问时间、修改日期、权限、文件大小等)在 Linux 系统中严格搜索特定文件或目录。

以下是几个示例,您可以使用这些示例使用 find 命令查找和列出 Linux 系统中最大的文件。

查找并列出大于 100 MB 的文件

以下命令将查找当前工作目录中大小大于 100 MB 的文件,然后使用ls 命令列出每个文件及其文件信息。

$ find . -xdev -type f -size +100M -print | xargs ls -lh | sort

命令分解:

“ find . -xdev -type f -size +100M -print”:它只会在 ( ) 相同文件系统内的 ( ) 当前工作目录中搜索 ( ) 大小大于 100 MB的 ( -type f) 常规文件。.-xdev-size +100M

“ xargs ls -lh“:它将获取 find 命令的结果,并在换行符中列出每个文件并提供更多详细信息。

“ sort”:对文件进行排序。

查找并列出前 10 个最大的文件

以下命令将递归搜索当前工作目录中的所有文件,并使用 find 命令从上到下列出大小最大的前 10 个文件。

$ find . -type f -printf '%s %p\n' | sort -nr | head -10

以下将为您提供与上面相同的结果,但以人类可读的格式打印尺寸。

$ find . -type f -printf '%s %p\n' | sort -nr | head -10 | numfmt --to=iec-i --suffix=B --format="%.3f"

命令分解:


“ find . -type f -printf '%s %p\n'”:它将通过解释文件的 ( ) 名称和大小(以字节为单位)来搜索 ( ) 当前工作目录-type f中的 ( ) 常规文件。.'%s %p\n'

“ sort -nr”:按文件大小倒序排序。

“ head -10“:仅打印管道输出的前 10 行。

“ numfmt --to=iec-i --suffix=B --format="%.3f"“:以人类可读的格式显示尺寸。

使用 du 命令查找并列出最大的文件

du 命令用于估计和汇总文件和目录空间使用情况,它还可以帮助您找到 Linux 系统中最大的文件。

以下命令将打印当前工作目录中的 10 个最大文件。

$ du -ahx . | sort -rh | head -10

命令分解:

“ du -ahx .“:它将.以人类可读的格式在同一文件系统中搜索您(“”)当前工作目录中的常规文件。

“ sort -rh“:根据文件的大小对文件进行排序并倒序(最大的在前)。

“ head -10“:仅打印管道输出的前 10 行。

查找到Linux服务器上文件系统中占用最多磁盘空间的最大文件,就可以执行下一步,例如删除该文件(您必须了解文件使用情况)或将其移动到其他位置。