登录  /  注册
首页 > 运维 > linux运维 > 正文

Linux中如何查找大文件?(代码示例)

青灯夜游
发布: 2019-03-29 16:48:54
原创
6045人浏览过

随着时间的推移,磁盘驱动器可能会被大量占用大量磁盘空间的不必要文件弄得乱七八糟,从而导致linux设备的磁盘空间不足。那么如何查找这些大文件?下面本篇文章就来给大家介绍在linux中使用find和du命令来查找最大文件和目录的方法,希望对大家有所帮助。

Linux中如何查找大文件?(代码示例)

使用find命令查找大文件

find命令是Linux系统管理员工具库中最强大的工具之一。它允许用户根据不同的标准(包括文件大小)搜索文件和目录。

例如,如果要搜索大小超过100MB的文件,则可以在当前工作目录中使用以下命令:

sudo find . -xdev -type f -size +100M
登录后复制

说明:可以将“.”替换为要搜索最大文件的目录的路径。

输出将显示没有任何其他信息的文件列表。

/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img
登录后复制

find命令还可以与其他工具(如ls或sort)结合使用,对这些文件执行操作。

例如:我们将find命令的输出传递给ls,ls将输出每个找到的文件的大小,然后通过管道将输出传递给sort命令,根据第5列的文件大小对其进行排序。

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
登录后复制

就会实现以下输出:

-rw-------  1 root   root 40967M Jan  5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw-------  1 root   root  3725M Jan  7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw-------  1 root   root  1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw-------  1 root   root   999M Jan  5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw-------  1 root   root   562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw-------  1 root   root   378M Jan  7 22:26 /var/lib/libvirt/images/bionic64_default.img
登录后复制

如果输出包含大量信息,我们还可以使用head命令仅输出前10行:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
登录后复制

让我们来分解、理解一下上述命令:

1、find . -xdev -type f -size +100M -print:在当前工作目录(.)中搜索(-type f)大于100MB(-size+100M)的文件,不要降低其他文件系统(-xdev)上的目录,在标准输出上输出完整的文件名,然后换行输出(-print)。

1、xargs ls -lh:使用xargs执行ls-lh命令,该命令将以人类可读的长列表格式显示输出。

3、sort -k5,5 -h -r:根据第5列(-k5,5)来对行进行排序,比较人类可读格式(-h)并反转结果(-r)。

4、head :只显示管道输出的前10行。

find命令有很多强大的选项。例如,可以搜索大于x天的大文件、具有特定扩展名的大文件或属于特定用户的大文件。

使用du命令查找大文件和目录

du命令用于估计文件空间使用情况,对于查找占用大量磁盘空间的目录和文件特别有用。

使用以下命令将输出最大的文件和目录:

du -ahx . | sort -rh | head -5
登录后复制

输出:

55G.
24G./.vagrant.d/boxes
24G./.vagrant.d
13G./Projects
5.2G./.minikube
登录后复制

命令说明:

1、du -ahx .:估计当前工作目录(.)中的文件空间使用情况,同时计算文件和目录(a),以人类可读格式(h)输出大小,并跳过不同文件系统(x)上的目录。

2、sort -rh:通过比较人类可读格式(-h)对行进行排序,并反转结果(-r)。

3、head -5 :仅输出管道输出的前5行。

du命令包含其他选项,您可以使用这些选项来优化磁盘空间使用的输出。

相关视频教程推荐:《Linux教程

以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

以上就是Linux中如何查找大文件?(代码示例)的详细内容,更多请关注php中文网其它相关文章!

智能AI问答
PHP中文网智能助手能迅速回答你的编程问题,提供实时的代码和解决方案,帮助你解决各种难题。不仅如此,它还能提供编程资源和学习指导,帮助你快速提升编程技能。无论你是初学者还是专业人士,AI智能助手都能成为你的可靠助手,助力你在编程领域取得更大的成就。
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号