在 Linux 下批量删除文件常见场景和命令如下,按你的需求选用即可(⚠️删除不可恢复,请先确认):
rm *.log
删除当前目录下所有 .log 文件。
rm test*.txt
删除以 test 开头、.txt 结尾的文件。
rm /tmp/*.tmp
find . -name "*.log" -delete
或更安全一点:
find . -name "*.log" -type f
确认无误后再加 -delete。
find /data -type f -mtime +7 -delete
+7:7 天以前-7:7 天以内-mmin:按分钟示例(30 分钟前):
find . -type f -mmin +30 -delete
find . -type f -size +100M -delete
find . -type d -empty -delete
find . -name "*.tmp" -type f -print
确认后:
find . -name "*.tmp" -type f -delete
rm -i *.log
rm -rf *
rm -rf /
⚠️ 生产服务器禁止使用 -rf 前不加确认
| 需求 | 命令 |
|---|---|
删除所有 .bak 文件 |
find . -name "*.bak" -delete |
| 删除 30 天前的日志 | find /var/log -name "*.log" -mtime +30 -delete |
| 删除空文件 | find . -type f -size 0 -delete |
| 只删文件不删目录 | find . -type f -name "*.tmp" -delete |
如果你能说明:
我可以帮你写一条最安全、最合适的命令。