随着时间的推移,当您的服务器系统被大量不必要的文件弄得乱七八糟时,会消耗更多的磁盘空间,这主要是由于大型日志或备份文件造成的。四川联想服务器总代理
但是,您有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 | sort -nr | head -10
以下将为您提供与上面相同的结果,但以人类可读的格式打印尺寸。
$ find . -type f -printf %s %p | sort -nr | head -10 | numfmt --to=iec-i --suffix=B --format=%.3f
命令分解:
“ find . -type f -printf %s %p ”:它将通过解释文件的 ( ) 名称和大小(以字节为单位)来搜索 ( ) 当前工作目录-type f中的 ( ) 常规文件。.%s %p
“ 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服务器上文件系统中占用最多磁盘空间的最大文件,就可以执行下一步,例如删除该文件(您必须了解文件使用情况)或将其移动到其他位置。
成都联想服务器代理【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼