Linux删除文件后磁盘空间仍未被释放问题
在Linux系统中删除了一个大文件后查看相关磁盘空间, 发现磁盘空间没有被释放;
这是因为通过rm或者文件管理器删除文件将会从文件系统的目录结构上解除链接(unlink),如果被删除的文件是被打开的(或者有一个进程正在使用被删除的文件),那么该进程将仍然可以读取被删除的文件,磁盘空间也一直被占用。
lsof命令可以列出当前打开的文件和对应的进程
lsof {{path/to/file}} 找到打开指定文件的进程
lsof -i :{{port}} 找出打开本地因特网端口的进程
lsof -u {{username}} 列出指定用户打开的文件
lsof +D {{path/to/directory}} 列出目录中被打开的文件
注意,lsof命令后面可以使用管道符结合grep查找,如 lsof |grep deleted;
通过lsof命令找到占用被删除文件的进程号,杀死对应进程后,再次查看磁盘空间已被释放。
图文并茂的链接→linux删除文件后却没有释放空间
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律