linux rm删除任何文件,空间都不释放
发布网友
发布时间:2022-04-23 18:38
我来回答
共1个回答
热心网友
时间:2023-10-13 06:44
df 和 这两个命令的输出结果总会有差距。
df 命令通过查看文件系统磁盘块分配图得出总块数与剩余块数。文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如i节点、磁盘分布图、间接块、超级块等。这些数据对大多数用户级的程序来说是不可见的,通常称为Meta Data。
-s 命令通过将指定文件系统中所有的目录、符号链接和文件使用的块数累加得到该文件系统使用的总块数。命令是用户级的程序,不考虑Meta Data。
因此,正常情况下,df计算的USED空间会比计算的结果要稍大。
有时,df命令计算出的USED空间会比命令大很多。
当一个应用程序正在写一个大文件的时候,用户使用rm或者mv操作了这个文件(Unix/Linux是允许这么干的,Windows在这一点上傻有傻福),应用程序仍然会占有文件句柄,并根据句柄所指磁盘位置继续写磁盘,并不会检查该文件是否被删除。
这部分磁盘占用,命令通过指定目录是检查不到的,而df命令通过查看文件系统磁盘块分配图却可以统计进去。这就解释了你所遇到的问题。
重启一下机器看看是否还有此现象。