温馨提示×

怎么删除linux大文件

小樊
47
2026-09-10 12:43:20
栏目: 智能运维

在 Linux 中“删除大文件”通常分几种情况,下面按常见场景给你说明,安全且高效的做法。


一、普通删除大文件(最常用)

rm /path/to/bigfile

如果是目录里很多大文件:

rm -f /path/to/*.log

⚠️ rm 删除后一般不可恢复,确认路径正确。


二、大文件正在被进程占用(删了空间不释放)

这是最常见的问题

rm bigfile
df -h   # 发现空间没释放

原因:文件被进程占用。

查看谁占用

lsof | grep deleted

正确做法(二选一)

  1. 重启对应进程
  2. 清空文件而不是删除
> /path/to/bigfile

truncate -s 0 /path/to/bigfile

✅ 这样空间立即释放,进程也不受影响。


三、快速释放大文件空间(不删文件)

: > bigfile
# 或
echo -n > bigfile

适合:

  • 日志文件
  • 服务正在写的文件

四、删除前先确认大小

du -sh /path/to/bigfile

查系统中最大的文件:

find / -type f -size +1G -exec du -h {} +

五、安全删除(防误删)

rm -i bigfile

或加 alias:

alias rm='rm -i'

六、彻底擦除(不可恢复)

shred -u -z bigfile

⚠️ 慢,但安全(适合敏感数据)


七、磁盘满但找不到大文件?

df -h
du -sh /*

常见原因:

  • 已删除但被进程占用
  • 隐藏目录(如 .cache

如果你愿意,可以告诉我:

  • 文件类型(日志 / 数据库 / 视频)
  • 是否正在被程序使用
  • 文件系统(ext4 / xfs)

我可以直接给你最合适的命令

0