Linux上查找最大文件的3种方法

 更新时间:2025年03月13日 09:30:01   作者:艾克华  
在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法,需要的朋友可以参考下

第一种:ls

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

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

ls -lSh /data/log/ | head -20

第二种:find

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

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

find /etc -type f -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh

查找当前用户名下最大的10个文件

find $HOME -type f -printf “%s\t%p\n” | sort -nr | head -10 | xargs ls -Slh

查询大于200M的文件

find / -type f -size +200M | xargs ls -Slh

查询100M和200M之间的文件

find / -type f -size +100M -size +200M | xargs ls -Slh

查询root目录下最大的5个文件

find /root -type f -exec ls -s {} ; | sort -n | tail -n5 | xargs ls -Slh

查询/目录下10天以前最大的5个文件

find / -type f -mtime +10 -printf “%s\t%p\n” | sort -n | tail -5 | xargs ls -Slh

第三种:du

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

查找/root下5个最大的文件

du -ah /root | sort -nr | head -n5

查找当前目录下最大的5个目录

du -ah | sort -nr | head -n5

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

du -Sh / | sort -rh | head -n10

只看大小在 GB 范围内的所有文件

du -ah / | grep “[0-9]G\b”

涉及到的命令参数

find:

  • -exec<执行指令>:假设find指令的回传值为True,就执行该指令;

-mtime n 查找系统中最后n天被改变文件数据的文件 +大于 -小于

  • -type 查找某一类型的文件
  • b -块设备文件;
  • c -字符设备文件;
  • d -目录;
  • p -管道文件;
  • f -普通文件;
  • l -符号链接文件;
  • s -socket文件;

-printf<输出格式>:假设find指令的回传值为Ture,就将文件或目录名称列出到标准输出。格式可以自行指定;

sort:

  • -n 依照数值的大小排序;
  • -r 以相反的顺序来排序;

xargs:传递参数

ls -Slh

  • -Sl 从大到小显示详情
  • -Slr 从小到大显示详情
  • -h humans 以人类易读的方式显示(正常情况下显示为bit,加上-h后 显示的为KB MB GB TB等)

du:

  • -a 显示所有目录或文件的大小
  • -h 以K,M,G为单位,提高信息可读性
  • -S 显示目录的大小,但不含子目录大小

到此这篇关于Linux上查找最大文件的3种方法的文章就介绍到这了,更多相关Linux查找最大文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • apache tika检测文件是否损坏的方法

    apache tika检测文件是否损坏的方法

    Apache Tika用于文件类型检测和从各种格式的文件内容提取的库。这篇文章主要介绍了apache tika检测文件是否损坏,需要的朋友可以参考下
    2019-09-09
  • Linux高并发服务器实现原理详解

    Linux高并发服务器实现原理详解

    在互联网应用爆炸式增长的今天,服务器需要同时处理成千上万的客户端连接已成为常态,本文将带您深入探索Linux环境下高并发服务器的实现原理,从传统的多进程/多线程模型,到现代的多路IO转接机制,需要的朋友可以参考下
    2026-03-03
  • 虚拟机Centos7环境下实现安装wget方式

    虚拟机Centos7环境下实现安装wget方式

    wget是一款支持HTTP/HTTPS/FTP的下载工具,可后台运行,若虚拟机Linux缺少wget,可通过删除旧版本、下载并安装rpm包解决,最后验证安装是否成功
    2025-07-07
  • Linux删除指定文件夹及其下面所有文件的方法

    Linux删除指定文件夹及其下面所有文件的方法

    这篇文章主要介绍了Linux删除指定文件夹及其下面所有文件的方法,在Linux中,使用rm -rf命令可以递归且强制删除文件夹及其内容,但需谨慎操作,避免误删重要数据,需要的朋友可以参考下
    2026-02-02
  • Linux中的最大线程数和句柄数详解

    Linux中的最大线程数和句柄数详解

    这篇文章主要介绍了Linux中的最大线程数和句柄数的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • Linux程序替换方式

    Linux程序替换方式

    这篇文章主要介绍了Linux程序替换方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-06-06
  • linux实现对上传文件的定时备份、增量备份的方法

    linux实现对上传文件的定时备份、增量备份的方法

    这篇文章主要介绍了linux实现对上传文件的定时备份、增量备份的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • Linux下正确快速删除海量文件的方法分享

    Linux下正确快速删除海量文件的方法分享

    linux服务器运行久了,可能会出现海量的垃圾文件去删除,下面这篇文章就给大家分享了在Linux下正确快速删除海量文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • 将Linux服务器磁盘挂载到/home目录的实现方式

    将Linux服务器磁盘挂载到/home目录的实现方式

    这篇文章主要介绍了将Linux服务器磁盘挂载到/home目录的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2026-04-04
  • 详解Linux多线程编程(不限Linux)

    详解Linux多线程编程(不限Linux)

    本篇文章主要介绍了Linux多线程编程,详解的介绍了为什么要使用线程,使用线程的理由和优点等,有需要的可以了解一下。
    2016-12-12

最新评论