ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Linux如何按大小筛选文件?

Linux如何按大小筛选文件?

原创 Linux操作系统 作者:老男孩Linux 时间:2025-12-12 14:03:12 0 删除 编辑

  在Linux运维中,按大小筛选文件是高频操作——清理大日志、查找冗余文件、定位磁盘占用大户都离不开它。那么Linux怎么按大小筛选文件?具体请看下文。

  用find按大小精确查找文件

  find是最常用、最灵活的方式,支持按字节、KB、MB、GB 等单位筛选,还能组合其他条件。

  查找大于100MB的普通文件:find /path -type f -size +100M

  查找小于1KB的文件:find /path -type f -size -1k

  查找大小正好等于512字节的文件:find /path -type f -size 512c(c 表示字节)

  查找大于10MB且最近7天修改过的文件:find /path -type f -size +10M -mtime -7

  注意:+ 表示“大于”,- 表示“小于”,不加符号表示“等于”;单位后缀常用 c(字节)、k(KB)、M(MB)、G(GB),大小写敏感(m 不合法,必须是 M)。

  用ls列出并按大小排序查看

  ls本身不筛选,但能按大小排序+配合head/tail快速定位最大/最小的几个文件,适合快速浏览。

  按大小降序列出当前目录所有文件(最大在前):ls -lS

  只看最大的5个文件:ls -lS | head -n 6(head -n 6是因为第一行是总用量)

  只看最小的3个普通文件(排除目录):ls -lSr | grep '^-' | head -n 3

  提示:-S按大小排序,-r表示反向(升序),-l显示详细信息便于确认大小。

  用du+sort快速找大目录或大文件

  du统计磁盘使用量,配合sort可快速识别占用空间最多的目录或文件,适合排查磁盘满的问题。

  列出当前目录下各子目录大小(降序):du -sh */ | sort -hr

  找出整个系统中最大的 10 个文件(含子目录):find / -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 10

  说明:-h 输出人类可读格式(如 2.4G),sort -hr 按人类可读数字逆序排序;2>/dev/null 屏蔽权限错误提示。


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69952968/viewspace-3105086/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
老男孩it教育——致力于帮助有志向的年轻人通过努力学习获得体面的工作和生活。专注于Linux云计算运维、Python全栈开发、网络安全、新媒体运营、容器云架构师、MySQL数据库、go语言的培训。学习可call:18710030740

注册时间:2019-11-06

  • 博文量
    390
  • 访问量
    1010592