有时候我们在系统上安装了数十个应用程序,随着使用时间的推移,许多文件变得越来越大,从而导致磁盘空间越来越小。那么问题来了,如何找到系统上这些大文件,然后进行一番磁盘空间清理呢,这篇文章就此介绍几种查找大文件的方法。注意:仅限于Linux系统。

第一种:ls

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

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

  1. ls -lSh /bin | head -5

第二种:find

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

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

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

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

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

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

  1. find / -size +100M-ls

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

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

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

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

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

第三种:du

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

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

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

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

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

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

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

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

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

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

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

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

Linux上查找最大文件的 3 种方法的更多相关文章

  1. 两台Linux系统之间传输文件的几种方法

    两台Linux系统之间传输文件的几种方法:参考https://www.cnblogs.com/bignode/articles/9241333.html

  2. Linux上安装Perl模块的两种方法

    Linux/Unix下安装Perl模块有两种方法:手工安装和自动安装.第一种方法是从CPAN上下载  您需要的模块,手工编译.安装.第二种方法是联上internet,使用一个叫做CPAN的模块自动完 ...

  3. Linux主机之间传输文件的几种方法对比

    1.scp传输 scp -r /data/file root@ip:/data/ scp -C /data/sda.img root@ip:/data/img/#-r: 支持目录#-C: 启用压缩传送 ...

  4. Linux删除目录下的文件的10种方法

    看到了一遍文章,便突发奇想的想起Linux中删除目录下的所有文件的方法:整理了几个,如有不足,还望读者不吝赐教! 删除当前目录下的文件 1.rm -f * #最经典的方法,删除当前目录下的所有类型的文 ...

  5. windows和linux之间上传下载文件的两种方法

    一    用rz和sz http://blog.csdn.net/register_man/article/details/53860774 http://www.jb51.net/article/7 ...

  6. Linux下分析bin文件的10种方法

    这世界有10种人,一种人懂二进制,另一种人不懂二进制. --鲁迅 大家好,我是良许. 二进制文件是我们几乎每天都需要打交道的文件类型,但很少人知道他们的工作原理.这里所讲的二进制文件,是指一些可执行文 ...

  7. ubuntu/linux mint 创建proc文件的三种方法(四)

    在做内核驱动开发的时候,能够使用/proc下的文件,获取对应的信息,以便调试. 大多数/proc下的文件是仅仅读的,但为了演示样例的完整性,都提供了写方法. 方法一:使用create_proc_ent ...

  8. ubuntu/linux mint 创建proc文件的三种方法(两)

    在这样做的内核驱动程序的开发时间.可以使用/proc下档.获取相应的信息.对于调试. 大多数/proc下的文件是仅仅读的.但为了演示样例的完整性.都提供了写方法. 方法一:使用create_proc_ ...

  9. Linux上删除大量文件几种方式对比

    目录 Linux上删除大量文件几种方式对比 1. rm删除:因为文件数量太多,rm无法删除(报错) 2. find查找删除:-exec 3. find查找删除:xargs 4. find调用-dele ...

随机推荐

  1. oracle选择最有效率的表名顺序

    ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,因此FROM子句中写在最后的表(基础表 driving table)将被最先处理. 在FROM子句中包含多个表的情况下,你必须选择记录条 ...

  2. 实验4 JavaBean创建和使用(计算器)

    实验4  JavaBean创建和使用 一.实验目的 1.掌握JavaBean创建和使用方法: 2.领会JavaBean简化页面设计的优势等. 二.实验内容 1.设计诸如以下页面的简单计算器 要求:完成 ...

  3. hdu 3938 Portal (prim+离线)

    Problem - 3938 题意是要求出给定权值下,满足要求的点对的数目.所谓的要求是,给出两点,之间会有很多路径,这个点对的最小距离是众多路径中,最短的一条路径的长度,路径长度是路径上最长边的长度 ...

  4. 数据库设计mysql字段不默认为NULL原因搜集

    索引不会包含有NULL值的列 只要列中包含有NULL值都将不会被包含在索引中,复合索引中只要有一列含有NULL值,那么这一列对于此复合索引就是无效的.所以我们在数据库设计时不要让字段的默认值为NULL ...

  5. 2018-7-29-C#-强转会不会抛出异常

    title author date CreateTime categories C# 强转会不会抛出异常 lindexi 2018-7-29 14:24:1 +0800 2018-4-4 16:24: ...

  6. Android Studio(七):项目从Eclipse到Android Studio迁移

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  7. Python--day47--mysql索引类型介绍

    组合索引(联合索引)详讲:组合索引相对索引合并的缺点是 覆盖索引和索引合并不是真实的索引,只是名词: 命中索引,要避免使用哪些:id.nid是主键 email,num()是索引 1,避免使用like ...

  8. Laravel修改配置后一定要清理缓存 "php artisan config:clear"!

    用laravel踩到一个大坑... 需要使用laravel的队列(queue)功能, 设置 ".env"配置文件 QUEUE_DRIVER=database 按照文档,建立jobs ...

  9. phpstorm 有的单词下有下划线,怎么去掉?

    settings -> Editor -> Colors & Fonts -> General ->Errors and Warnings然后你会看见下面的示例代码.点 ...

  10. Java中的元注解

    注解为我们在代码中添加信息提供了一种形式化的方法,使我们可以在稍后某个时刻非常方便地使用这些数据. 通过使用注解,我们可以将这些元数据保存在Java源代码中,并利用annotation API为自己的 ...