在 Linux 下“删除大文件”通常不只是 rm 一下,还要考虑释放磁盘空间、避免误删、是否正在被进程占用等问题。下面按常见场景说明。
rm 大文件
例如:
rm /data/bigfile.log
⚠️ 注意:
rm 不可恢复如果文件正在被程序写入(如日志),直接 rm 后:
df -h # 空间没释放
lsof | grep deleted
> /path/to/bigfile
或
truncate -s 0 /path/to/bigfile
✅ 这样磁盘空间立刻释放,且不影响进程
如果只是想腾空间:
: > bigfile
或
echo > bigfile
查找大于 1G 的文件:
find / -type f -size +1G
按大小排序:
du -h /path | sort -rh | head
trash-put bigfile
(需安装 trash-cli)
rm -rf /path/to/bigdir
如果卡死,可分批删:
find /path/to/bigdir -type f -delete
lsof | grep deleted
找到占用进程后:
rm -f /var/log/*.log
或
find /var/log -type f -size +500M -delete
如果你愿意,可以告诉我:
我可以给你最安全的具体命令。