本文主要是介绍Linux删除大文件rm -rf的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
请几天,我删除系统汇总的大文件,大约100G左右,当我使用rm -rf xxxx.log删除后,使用df -h发现空间并未释放。
一开始以为是由于磁盘虚拟挂载,导致我删除的文件并不是当前目录的文件。但后来发现并不是。
我在网络上搜索发现都是 要:
lsof | grep delete
kill -9 xxx
但是我觉得这样不安全。
比如文件被进程锁定,或者有进程一直在向这个文件写数据等等。
要理解这个问题,就需要知道Linux下文件的存储机制和存储结构。空间还没释放,就是因为httpd进程还在一直向这个log文件写入内容,导致Linux还认为存在这个文件,导致不能释放。
一、
echo " " >xxxx.log 这种方法可以清除大数据文件。
二、
cat /dev/null >xxxx.log 这种方法也可以清除大数据文件。
上面这两种方法根本无需杀掉进程,方便且安全,适用于动态的删除数据。
这篇关于Linux删除大文件rm -rf的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!