Linux批量删除文件

在 Linux 中,批量删除文件有多种方式,具体取决于你要删除的文件类型、范围以及是否需要强制删除。以下是几种常见且高效的批量删除方法:


一、使用 rm命令(最常用)

1️⃣ 删除某一类文件(如 .log

复制代码
rm -f *.log

✅ 说明:

  • *是通配符

  • -f强制删除,不提示


2️⃣ 删除多个指定类型文件

复制代码
rm -f *.log *.txt *.bak

3️⃣ 删除某个目录下所有文件(⚠️危险)

复制代码
rm -f /path/to/dir/*

⚠️ 注意:这只会删除文件,不会删除子目录。


二、按条件删除(推荐 ✅)

4️⃣ 删除 N 天前的文件(日志清理常用)

复制代码
find /path/to/logs -type f -mtime +7 -name "*.log" -delete

✅ 解释:

  • -type f:只删文件

  • -mtime +7:7 天前

  • -name "*.log":匹配日志文件

  • -delete:直接删除

🔍 建议先查看匹配结果(不删除)

复制代码
find /path/to/logs -type f -mtime +7 -name "*.log"

5️⃣ 删除大于 100M 的文件

复制代码
find /path/to/dir -type f -size +100M -delete

三、交互式删除(防止误删 ✅)

6️⃣ 删除前逐一确认

复制代码
rm -i *.log

四、删除目录及其下所有文件(⚠️非常危险)

7️⃣ 删除整个目录

复制代码
rm -rf /path/to/dir

⚠️ 务必确认路径正确,删除后无法恢复!


五、结合 ls查看再删除(安全做法 ✅)

复制代码
ls *.log
rm *.log

六、使用 rsync清空目录(高级技巧)

如果你想清空目录但保留目录本身

复制代码
rsync -a --delete empty/ target/

七、推荐的安全清理日志方式 ✅

复制代码
find /var/www/web/storage/logs -type f -name "*.log" -mtime +7 -delete

✅ 适用于 Lumen / Laravel 日志清理


⚠️ 重要提醒

  • 生产环境慎用 rm -rf

  • 建议先 lsfind确认文件列表

  • 重要数据务必先备份


✅ 总结速查表

需求 命令
删某类文件 rm -f *.log
删 N 天前 find ... -mtime +N -delete
删大文件 find ... -size +100M -delete
删目录 rm -rf dir/
安全确认 rm -i *.log
相关推荐
05候补工程师2 小时前
深度解构 ROS 2:如何手动调通 Nav2 A* 路径规划引擎
linux·人工智能·经验分享·算法·机器人
zhangfeng11332 小时前
适合 5人以内小团队的Git 工作流 + Code Review + 自动化部署方案 FastAdmin +linunx服务器宝塔系统 外包项目 —
服务器·git·自动化·php·代码复审
北冥湖畔的燕雀3 小时前
Linux线程编程核心指南
linux·服务器·网络
倔强的石头1063 小时前
【Linux 指南】文件系统系列(一):磁盘底层原理 —— 从物理结构到 CHS与LBA 寻址全解析
linux·运维·服务器
南汁bbj3 小时前
彻底解决!Milvus远程连接报错code=2、gRPC超时问题(Windows访问Linux服务终极方案)
linux·windows·milvus
小金的学习笔记3 小时前
小白打造个人博客的神奇秘诀:WordPress 竟如此简单?
服务器
宁小法4 小时前
Linux上 log日志很大,如何获取部分内容?
linux·日志文件·传输
zhangrelay4 小时前
云课实践速通系列-基础篇汇总-必修-通识基础和专业基础-2026--工科--自动化、电气、机器人、测控等
linux·笔记·单片机·学习·ubuntu·机器人·自动化
陶然同学5 小时前
【Linux及Shell】VMware&Ubuntu&Xshell安装
linux·运维·xshell8·xftp8