良许Linux教程网 Linux教程 Linux上查找文件的 3 种方法

Linux上查找文件的 3 种方法

有时候我们在系统上安装了数十个应用
Linux系统

第一种:ls

最简单的方法就是借助 ls 命令,因为 ls 命令本身输出是带文件大小信息的。

比如,我要列出 /bin 目录中的 5 个最大文件,可以:

ls -lSh /bin | head -5

第二种:find

find 本身就是查找命令,可以递归查找一个目录的子目录,所以用它是自然的。

比如,查找 / 目录下最大的一个文件:

sudo find / -type f -printf “%s\t%p\n” | sort -n | tail -1 

如果要找前 10 个大文件呢,可以这样:

$ find $HOME -type f -printf ‘%s %p\n’ | sort -nr | head -10 

也可以使用 -size 选项来查找,以下命令将显示大于100MiB(注意不是100MB,MiB和MB的区别,emmm)的所有文件:

find / -size +100M-ls

也可以查找一个区间大小的(比如 100MiB 和 200MiB )之间的文件:

find / -size +100M-size -200M-ls

最后,下面这个命令也比较常用,查找某个目录最大的5个文件:

find $DIRECTORY -type f -exec ls -s {} \; | sort -n | tail -n 5

补充一点,find 也可以查找最近的文件:少于或等于n天(-ctime -n)的文件或属于特定用户(-user mrlinus)的文件。

第三种:du

du 命令可以查看磁盘空间的使用情况,自然也可以用来查看磁盘上占用空间较多的文件和文件夹。

比如,查找 /home 下前 20 个最大的文件:

sudo du -a /home | sort -n -r | head -n 20

查找当前文件夹中最大的 10 个目录:

sudo du -a | sort -n -r | head -n 10

如果要显示可读的KB、MB、GB信息,可以加上 -h 参数:

du -hs * | sort -rh | head -n 10 

查找最大目录/文件(包括子文件夹):

du -Sh| sort -rh | head -n 10 

如果只看大小在 GB 范围内的所有文件,可以同时使用 du 命令和 grep 命令:

du -h -a /dir | grep “[0-9]G\b”

OK,以上便是 3 种 Linux 系统上查找大文件的方法,希望大家都能掌握。

以上就是良许教程网为各位朋友分享的Linux上查找文件的 3 种方法。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!
公众号

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部