linux删除文件 空间没有被释放

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux删除文件 空间没有被释放相关的知识,希望对你有一定的参考价值。

参考技术A

通过你的描述,结合你的问题分析如下:

问题分析:

一般说来不会出现删除文件后空间不释放的情况,但是也存在例外,比如文件被进程锁定,或者有进程一直在给这个文件写数据等等,此时即使删除了文件,但是文件的指针还处于被锁定的状态,所以空间也就没能够被释放。

查看被删除的文件列表:

通过 lsof 命令 ,来获取一个已经被删除但仍然被相关的应用程序占用的文件列表。

lsof  |  grep  delete

解决办法:

方法1、就是关闭或者重启相关的进程。

方法2、当然也可以重启操作系统,不过这并不是最好的方法,对于这种进程不停对文件进行写入的操作,要想释放文件所占用的磁盘空间,最好的方法就是在线清空这个文件,这里我就以svn.log 文件为例,可以通过如下命令完成:

[root@SVN~]# echo " " >/tmp/svn.log

通过这种方法,磁盘空间不但可以马上释放,也可保障进程继续向文件写入日志。

扩展知识:

我们在文件系统中存储的文件,主要分为两个部分:数据部分和指针部分。当我们的数据被删除后,文件所对应的指针也会被删除。这样文件数据部分占用的空间就会 被新的内容所覆盖。

温馨提示:

我们在删除文件时,一定要备份,尤其是对于生产环境,这种操作一定要慎重,慎重使用 rm 命令,最好使用mv 命令来代替rm 。 

以上就是我的建议,不同版本系统,在具体操作时,可能会有出入,如有问题可  私信 + 关注,我会第一时间来进行回复追答,希望我的回答能帮到你。

Linux 删除文件,但空间没变化怎么办

用SSH secure file transfer登陆到Linux系统上,直接在右边的目录里删除了文件,结果空间没有变化。是不是没有彻底删掉啊,怎么办啊??
如果要彻底删除 应该用什么命令~~急

参考技术A 10年的问题 还没找到答案啊。

有一种可能,该文件被进程占用,文件虽删了,空间还未释放。重启进程,应该就可以了。

以上是关于linux删除文件 空间没有被释放的主要内容,如果未能解决你的问题,请参考以下文章

Linux中大文件日志删除,但空间未被释放-解决方案

Linux 删除文件,但空间没变化怎么办

文件删除了空间却不释放,为啥

LINUX删除文件,但空间不释放

Linux 文件删除空间没有释放问题

Linux rm命令删除文件磁盘空间不释放解决