Linux查找大文件并删除 常用find命令技巧

小磊吖_6064

小磊吖_6064

2026-04-11

360人浏览

原创

linux下按大小查找大文件最直接方式是用find配合-size参数,+100m表示严格大于100mb,100m表示精确匹配;需结合-type f、-ls、-mtime等限定条件,并优先预览再删除,避免误删关键文件。

linux查找大文件并删除 常用find命令技巧

按大小查找大文件并确认路径

Linux下最直接的方式是用 find 配合 -size 参数,但要注意单位和边界行为:+100M 表示「严格大于100MB」,而 100M 是「等于100MB」,不加符号默认是「精确匹配」,几乎找不到——因为文件大小极少刚好整百MB。

常用组合:

  • find /var/log -type f -size +100M:查 /var/log 下所有大于100MB的普通文件
  • find /home -type f -size +2G -ls:加 -ls 可同时显示权限、所有者、修改时间,比单纯输出路径更利于判断是否可删
  • 避免用 -size +100000000c 这类字节数写法——易数错零,且不可读

安全删除前先预览或限制数量

直接 -delete 风险极高,尤其在根目录或挂载点下误操作会导致服务中断。必须先确认结果集合理,再执行删除。

推荐分两步操作:

  • 先用 find ... -print | head -n 5 看前5个匹配项,检查路径是否符合预期
  • 确认无误后,改用 -exec rm -f {} \;(注意结尾的空格和反斜杠)
  • 若要批量删但防误删,可用 -ok rm -f {} \;,每删一个都交互确认
  • 慎用 -delete:它不支持 -maxdepth 与 -delete 同时生效(某些旧版find会报错),且无法与 -ls 共存

排除正在被进程占用的文件

直接删掉还在被写入的日志或数据库文件,可能导致程序崩溃或数据损坏。可以用 lsof 辅助过滤,但更实用的是反向思路:优先删那些「很久没访问过」的旧文件。

CMIC Skill Scanner (Linux ARM64)
CMIC Skill Scanner (Linux ARM64)

使用 auto、native 或 external 引擎审计待安装的 skill 包或归档,并可选启用 LLM 语义分析。

下载

例如:

  • find /tmp -type f -size +50M -mtime +7:删7天以上、大于50MB的临时文件(-mtime +7 表示修改时间早于7*24小时)
  • find /var/log -name "*.log" -size +100M -mtime +30:只处理老日志,避开最近活跃的
  • 不要依赖 -atime(访问时间)——很多系统默认关闭atime更新,值不可靠

处理硬链接和符号链接的陷阱

find 默认会遍历符号链接指向的目标,可能跨分区或进入不该进的目录;而硬链接共享同一inode,删其中一个不影响其他硬链接,但 -size 判断仍有效。

关键控制点:

  • 加 -xdev(或 -mount)防止跨文件系统搜索,避免意外扫到 /proc、/sys 或 NFS 挂载点
  • 加 -follow 才会跟随符号链接,不加则只处理链接文件本身(此时 -size 返回的是链接文件大小,通常只有几十字节)
  • 用 find ... -printf "%i %p\n" | sort -n 可快速发现重复inode,辅助识别硬链接簇

真正麻烦的不是命令怎么写,而是删完才发现某个“大文件”其实是数据库的 WAL 日志或容器的 overlay2 层——它们名字普通、大小超标,但删了就起不来服务。动手前最好 file 看类型、lsof -Rn +D /path 查占用、再翻一眼应用文档。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end='\n', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.27

2540

5

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

2026.02.03

249

24

sort排序函数用法
sort排序函数用法

sort排序函数的用法:1、对列表进行排序,默认情况下,sort函数按升序排序,因此最终输出的结果是按从小到大的顺序排列的;2、对元组进行排序,默认情况下,sort函数按元素的大小进行排序,因此最终输出的结果是按从小到大的顺序排列的;3、对字典进行排序,由于字典是无序的,因此排序后的结果仍然是原来的字典,使用一个lambda表达式作为key参数的值,用于指定排序的依据。

2023.09.04

1118

7

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

2023.06.20

688

5

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

2023.11.28

1009

10

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

2023.11.13

2651

4

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.29

825

3

数据库三范式
数据库三范式

数据库三范式是一种设计规范,用于规范化关系型数据库中的数据结构,它通过消除冗余数据、提高数据库性能和数据一致性,提供了一种有效的数据库设计方法。本专题提供数据库三范式相关的文章、下载和课程。

2023.06.29

2465

3

如何删除数据库
如何删除数据库

删除数据库是指在MySQL中完全移除一个数据库及其所包含的所有数据和结构,作用包括:1、释放存储空间;2、确保数据的安全性;3、提高数据库的整体性能,加速查询和操作的执行速度。尽管删除数据库具有一些好处,但在执行任何删除操作之前,务必谨慎操作,并备份重要的数据。删除数据库将永久性地删除所有相关数据和结构,无法回滚。

2023.08.14

3741

10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习