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 这种方法也可以清除大数据文件。

上面这两种方法根本无需杀掉进程,方便且安全,适用于动态的删除数据。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章