在 Linux 中删除“大文件”通常很简单,但如果你是想安全、快速、或避免误删,可以按下面几种场景来操作。
rm 大文件名
示例:
rm bigfile.log
rm -f bigfile.log
rm file1 file2 file3
或使用通配符:
rm *.log
du -ah / | sort -rh | head -20
或只查文件(不查目录):
find / -type f -size +500M
查找大于 500MB 的文件
ls -lhS
⚠️ 很多“删了但空间没释放”的问题都出在这里
lsof | grep deleted
systemctl restart 服务名
或 kill:
kill -9 PID
✅ 进程退出后,磁盘空间才会真正释放
如果你不能删除文件(如日志正在写入),可以:
> bigfile.log
或:
truncate -s 0 bigfile.log
✅ 不会中断程序
✅ 空间立即释放
ls -lh bigfile.log
rm -i bigfile.log
sudo rm -f /path/to/bigfile
rm -rf 目录名
⚠️ 慎用 -rf
✅ 原因:文件仍被进程占用
✅ 解决:lsof | grep deleted
sudo rm 文件名
✅ 可先 truncate 再 rm
du -sh /var/log/*
> /var/log/nginx/access.log
如果你愿意,可以告诉我:
我可以给你最合适、最安全的删除方案 ✅