找出已被删除但仍占用磁盘的文件(lsof +L1)

当 df 显示磁盘满但 du 却找不到大文件时,多半是有进程还握着已删除的文件;lsof +L1 能把它们和占用进程一起列出来。

Linux磁盘故障排查lsof 文件占用中风险
运行 `sudo lsof +L1` 列出被打开的已删除文件,重启对应进程即可释放空间。

01命令

命令
$ sudo lsof +L1

02作用说明

Linux 删除文件只是取消链接,空间要等最后一个打开它的进程退出才真正释放,所以日志轮转后运行中的守护进程可能一直攥着几个 GB。`sudo lsof +L1 | sort -k7 -n -r` 可以按大小从大到小排序。解决办法是重启或优雅重载占用进程(如 `systemctl reload rsyslog`);通过 /proc/PID/fd/N 截断文件是最后的手段。

03风险

风险中风险
使用条件lsof installed (default on most distros)

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

  • lsof(8) - Linux manual page
    Ubuntu Manpages · technical · 2026-09-17
    依据: The +L1 option selects files with a link count less than one, i.e. open files that have been unlinked (deleted).

最后验证: 2026-09-17 · 分类: 系统与设置

06相关方案