周田恬优秀作者
原创内容 来源:小居数码网 时间:2024-08-15 14:39:01 阅读() 收藏:22 分享:54 爆
导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有557个文字,大小约为3KB,预计阅读时间2分钟。
00 前言运维同学发现一台CentOS 7的服务器空间快满了,服务器告警。
于是要清除掉服务器上没用的大文件x.log,但是当使用了rm -rf 删除服务下的大log文件,却发现还是告警,可用空间沒有变化。
有点慌,怎么办?
如果有什么不能解决的问题,那就重启下服务吧。
使用 rm -rf x.log 删除后,但是因服务仍在运行,空间不会立刻释放,需要重启或停止服务才能将空间释放。
可是线上可不能这样操作,该怎么办?
更多命令请看 linuxido.com 。
别着急,使用echo命令来将文件清空。
echo "">a.log# 使用带有空字符串的echo命令,并将其重定向到文件
文件空间会立刻释放。
truncate -s 0 x.log# 指定目标文件字符大小为0
cp /dev/null x.log# copy /dev/null 至 x.log文件cat /dev/null> x.log# cat + 重定向 /dev/null 至 x.log文件dd if=/dev/null of=x.log# dd 转换/dev/null 至 x.log
这里的三个方法都可以,至于为什么,看看/dev/null的特殊机制就明白了。
它是特殊的一个空设备文件,通常与重定向符号一起组合使用,用于丢弃进程不需要的输出流,或者作为输入流的合适空文件。
在Linux中,/dev/null可以看做是一个黑洞,所有不要的东西都可以往里面扔。
因此我们可以通过/dev/null来作为输入来清空文件的内容。
更多命令请看 linuxido.com 。
知其然知其所以然,为什么rm -rf删除了文件后,服务还在运行,空间就不会被释放呢?
因为rm只是将文件链接解除,如果此时有进程在引用文件,系统是不会回收文件的。
此时如果先删除后将服务重启或者先停服务再删除日志也都可以将空间释放。
但是除了以上的几种方法,是不是还有别的方法呢?当然有咯,方法千万种,理解原因也就不难找到对策了。
上面就是小居数码小编今天给大家介绍的关于(linux中rm–rf删除的文件)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。
94%的朋友还想知道的:
(284)个朋友认为回复得到帮助。
部分文章信息来源于以及网友投稿,转载请说明出处。
本文标题:linuxrm-rf删除文件(linux中rm–rf删除的文件):http://sjzlt.cn/shuma/155840.html