Linux怎么按大小筛选文件?
老男孩IT教育
行业新闻
2025年12月11日 15:30
在Linux运维中,按大小筛选文件是高频操作——清理大日志、查找冗余文件、定位磁盘占用大户都离不开它。那么Linux怎么按大小筛选文件?具体请看下文。
在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 屏蔽权限错误提示。
老男孩教育是行业内较早开设Linux运维云计算课程培训的学校,在行业内深耕十多年,经过多年的技术沉淀,重磅打造Linux云计算SRE运维课程。该课程内容体系完善、实战项目丰富,贴合企业用人标准,学完即具备真实实战经验,更好的满足企业用人所需。
老男孩教育专注IT教育10余年,只培养IT技术精英
全国免费咨询电话(渠道合作):400-609-2893











