请关注本头条号,每天坚持更新原创干货技术文章。

如需学习视频,请在微信搜索公众号“智传网优”直接开始自助视频学习

1. 前言

经过一段时间使用后,我们会发现Linux的可用磁盘空间越来越少,这时我们就需要准确地定位哪些文件或者哪些目录占用了空间,并且有按大小排序文件或目录的需求。

那么,如何使用Linux命令对系统文件中的目录或者文件进行统计,并查找出Linux系统上最大的文件呢?

通常我们有必要需要知道哪些文件或者目录正在吞噬着磁盘空间。更进一步来说,就是需要在文件系统中的特定目录如 /tmp, /var 或者 /home 下查找。这篇文章将帮助我们在文件系统中查找最大的文件或目录。

linux查找最大文件15个实用案例

2. linux按硬盘空间占用的大小查找文件或者目录相关的命令

这里没有简单的命令让我们在 Linux/UNIX/BSD 文件系统中找到最大的文件/目录。但我们可以通过如下的四个命令组合使用来实现:

  • du命令:估计磁盘空间使用量
  • sort命令:排序
  • head命令:取前几条输出
  • find命令:查找文件

3. linux查找最大文件和目录(文件夹)实用案例

在控制台输入如下命令找出/var/mysql目录下最大的 10 个文件和目录:

[root@zcwyou ~]# du -a /var/mysql -h | sort -n -r | head -n 10

如果需要更佳的可读性,可以执行以下命令:

[root@zcwyou ~]# cd /path/to/some/where[root@zcwyou ~]# du -hsx * | sort -rh | head -10

linux查找最大文件和目录(文件夹)实用案例

参数解释:du -h : 以人可读的格式显示 (eg. 1K, 234M, 2G)

du -s : 显示每个参数的总数。 (summary)

du -x : 排除目录

sort -r : 逆序 (reverse)

sort -h : human readable

head -10 或者 head -n 10 : 显示前 10 条。

用如下的命令找出/usr/share/zcwyou目录和其子目录下最大的文件:

[root@zcwyou ~]# find /usr/share/zcwyou -printf '%s %p'| sort -nr | head -10

找出当前目录和其子目录下最大的文件:

[root@zcwyou ~]# find . -printf '%s %p'| sort -nr | head -10

我们可以跳过某些特定目录,仅显示文件,输入:

[root@zcwyou ~]# find /path/to/search/ -type f -printf '%s %p'| sort -nr | head -10

或者

[root@zcwyou ~]# find /path/to/search/ -type f -iname "*.mp4" -printf '%s %p'| sort -nr | head -10

或者建立一个命令别名,用命令abc代替du -cks * | sort -rn | head

采用 alias

alias abc='du -cks * | sort -rn | head'

运行如下命令来获取最大的 10 个文件或目录:

[root@zcwyou ~]# abc

4. linux查找最大文件和目录(文件夹)常见应用场景

du命令的常用使用场景

使用语法

du -sh [dirname|filename]

统计并显示当前目录占用的磁盘空间大小

[root@zcwyou ~]# du -sh .

当前目录下个文件或目录的大小:

[root@zcwyou ~]# du -sh *

显示前10个占用空间最大的文件或目录:

[root@zcwyou ~]# du -s * | sort -nr | head

选项-h

以人类易读的格式显示指定目录或文件的大小

选项-s

选项指定对于目录不详细显示每个子目录或文件的大小

找到Linux磁盘或目录中最大的n个文件

du加上了-a选项,可以看到所有的目录和文件大小,按照大小排序,就可以得到最大的n个文件了:

在目录/var/zcwyou中统计文件和目录大小,使用du命令,du -k选项表示文件大小显示为KB,之后按照大小排序,显示前n行,这里n=10:

[root@zcwyou ~]# du -ak /var/zcwyou | sort -nrk 1 | head -n 10

上面的命令不但显示文件,而且显示目录,如果不想显示目录,可以先用find命令找出所有的文件,再执行上面的命令:

[root@zcwyou ~]# find /var/zcwyou -type f -exec du -k '{}' ; | sort -nrk 1 | head -n 10

下面的命令同样可以实现类似的效果:

[root@zcwyou ~]# find /var/zcwyou -type f -exec ls -l '{}' ; | awk '{print $5,$NF}' | sort -nrk 1 | head -n 10

上面的命令查找的都是目录及子目录下的文件,如果不找子目录,那就简单了,因为ls有个选项,可以按照文件大小排序,执行以下命令

[root@zcwyou ~]# ls -lhS /home/zcwyou | head -n 11

linux查找最大文件和目录(文件夹)常见应用场景

5. Linux 查找最大的文件夹

运维的时候经常遇到df -h磁盘空间快满了的情况,一般来说是由于循环日志过大导致 。

使用下面的命令,能更快地定位问题所在。

案例:查找根目录下的最大文件夹:

[root@zcwyou ~]# cd /[root@zcwyou ~]# du -sh ./* sort

Linux 查找最大的文件夹

6. 结合`find`命令找到Linux文件系统里最大的10个文件

使用方法如下:

[root@zcwyou ~]# find / -type f -print0 | xargs -0 du -h | sort -rh | head -n 10

7. linux查找最大文件或目录相关的命令应用

命令作用find搜索文件命令/在整个/目录搜索-type指定文件类型f类型为普通文件-print0标准输出完整文件名,后跟空字符(null)|管道符,前的命令给后的命令处理xargs把标准输出转换为命令行参数-0以空字符(null)来分割记录du -h查看磁盘使用情况(可读格式计算)sort文本排序-r反转结果-h打印输出(可读格式)head开头n -10打印前十

8. 总结

在Linux系统里灵活结合各种命令工具,可以非常高效地根据各种条件找到相关的文件。

find linux 目录深度_15种方法找出Linux系统中最大的N个文件,你懂几种?相关推荐

  1. 004 两种方法找寻路call

    文章目录 关于寻路call 通过参数找寻路call CE搜索寻路目的地坐标 通过参数定位寻路call 寻路call参数分析 寻路call代码测试 寻路状态找寻路call 搜索寻路标志位 通过寻路标志位 ...

  2. find linux 目录深度_linux 查找目录或文件

    linux 查找目录或文件 转载:http://hi.baidu.com/corylus/blog/item/911f1a0871817ad962d98686.html --------------- ...

  3. 5个找出Linux中“二进制命令”描述和系统中位置的方法

    在数千个 Linux 系统上的命令/程序中,知道给定命令的类型和目的以及其在系统上的位置(绝对路径)对于新手来说可能是一个挑战. 知道命令/程序的一些细节不仅有助于 Linux 用户掌握大量命令,还能 ...

  4. 快速找出Linux服务器上不该存在恶意或后门文件

    转载来源 :如何快速找出Linux服务器上不该存在恶意或后门文件 :https://www.2cto.com/article/201805/748965.html 如何快速找出Linux服务器上不该存 ...

  5. 如何快速找出Linux系统中的大文件?

    今日主题: 如何快速找出Linux系统中的大文件? 在前面的文章中,我们讲到了压测时磁盘空间被占满的问题,可以跟今天的文章结合着看. 在性能测试中,我们经常要关注系统磁盘空间,防止因磁盘空间占满而导致 ...

  6. linux如何检查系统补丁,找出linux系统没有的补丁

    找出linux系统没有的补丁 发布时间:2007-11-21 12:48:36来源:红联作者:Fedoraai 同学先用了一个perl程序,把ftp.kernl.org上的补丁目录读取在一个文件lis ...

  7. Java黑皮书课后题第7章:7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数。编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数

    7.14(计算gcd)编写方法,返回个数不确定的整数的最大公约数.编写一个测试程序,提示用户输入5个数字,调用该方法找出这些数的最大公约数,并显示这个最大公约数 题目 题目描述 破题 代码 运行实例 ...

  8. php处理emoji表情方法,PHP实战:3种方法轻松处理php开发中emoji表情的问题

    <PHP实战:3种方法轻松处理php开发中emoji表情的问题>要点: 本文介绍了PHP实战:3种方法轻松处理php开发中emoji表情的问题,希望对您有用.如果有疑问,可以联系我们. 背 ...

  9. Linux 系统中恢复已删除的文件

    注:文章内容仅用于本人日常学习记录 Linux 系统中恢复已删除的文件 当用户意外地删除了一个仍然需要的文件时,大多数情况下,是没有简便的方法可以重新找回或重建这个文件.不过,幸运的是文件是可以通过一 ...

  10. linux查找最近访问的文件,教您在Linux系统中查找最近修改的文件/文件夹

    如果您使用Linux系统进行日常操作,则主目录文件将随时间急剧增加.如果您有成千上万个文件,很可能不记得最近更改的文件名,本文将教您在Linux系统中查找最近修改的文件/文件夹.另外,如果要检查出于任 ...

最新文章

  1. 【DP】HDU 2189 悼念512汶川大地震遇难同胞——来生一起走
  2. matlab表达一次函数,[转载]MATLAB数据拟合例子(一次函数、指数函数、双曲线)...
  3. 上有天最高,自然较为小
  4. Spark的三种运行模式
  5. iOSpush过后返回多级界面
  6. Shiro - Shiro简介;Shiro与Spring Security区别;Spring Boot集成Shiro
  7. 厦门宏发有机器人_2020新版福建省厦门工业机器人工商企业公司名录名单黄页大全23家...
  8. java date 减去5分钟_java里让一个date每次加5分钟等于另外一个指定的date
  9. 计算机模拟专业委员会,中国化工学会过程模拟及仿真专业委员会成立
  10. Windows 环境搭建 git 服务
  11. 使用Python代码下载网易音乐歌曲
  12. 路由器选华硕还是tp_华硕路由器设置
  13. 韩国飞中国机票炒至近万元,一票难求
  14. 基于 移远 BC26 移柯BL620的NB模块调试流程
  15. (CodeForces) D. Kilani and the Game (搜索)
  16. 区块链行业如何摆脱“圈内自嗨”,真正进入大众市场?
  17. QT OpenGL图形放大缩小旋转移动
  18. 【mac m1 paddleOCR】安装环境及其坑位
  19. LabVIEW视觉采集软件(VAS)、视觉生成器(VB)和视觉开发模块(VDM)之间有什么不同
  20. java 串口 来电显示_java串口 来电显示

热门文章

  1. 终于忙完了,要开启代码生涯了
  2. Servlet(Request.Response)+文件上传
  3. windows server 2008远程桌面轻松搞定
  4. 企业项目运行管理体系的实现
  5. VMware:虚拟化技术为运营商消除隐患
  6. idea控制台搜索功能
  7. idea2020不显示光标所在位置的方法名
  8. day20: zip压缩工具及打包工具介绍
  9. Linux 系统故障排查思路简析
  10. Zookeeper动态更新服务器列表