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

  • 建议先 ls或 find确认文件列表

  • 重要数据务必先备份


✅ 总结速查表

需求 命令
删某类文件 rm -f *.log
删 N 天前 find ... -mtime +N -delete
删大文件 find ... -size +100M -delete
删目录 rm -rf dir/
安全确认 rm -i *.log
相关推荐
Apipi*5 小时前
30天速通Linux 第六章信号及信号处理
linux·运维·信号处理
天启HTTP6 小时前
爬虫防封核心原理:IP轮换机制与风控规避逻辑
linux·服务器·网络·爬虫·tcp/ip
运维行者_7 小时前
网络性能监控怎么做?从自动发现到根因分析的4个环节
运维·服务器·网络·人工智能·支持向量机
hz567899 小时前
涉密视频会议设备配置指南:终端、音视频采集与配套设施选型
服务器·网络·数据库·安全·实时音视频·信息与通信·智能硬件
广州浮点FLOATLIC9 小时前
许可证服务器迁移后软件打不开:研发 IT 怎样定位连接问题
linux·服务器·数据库
优橙教育9 小时前
零基础学AI应用开发要多久?3个月能到什么水平
服务器·开发语言·网络·php
BLUcoding9 小时前
接口服务公网超时排查记录:SecureRandom 阻塞问题分析与解决
java·linux·springboot·aes·securerandom
AIgorithmGEEK9 小时前
[Linux]从手写报头到内核套路:序列化、反序列化与自定义协议全链路
linux·运维·服务器·网络·序列化·反序列化
Nil2089 小时前
leetcode 139单词拆分
linux·运维·服务器
Starry-sky(jing)9 小时前
BUG: unable to handle kernel paging request 完整排查:dmesg 四要素与三路定罪
linux·运维·服务器·内核·排障