如何模拟删除文件? (Linux)的

前端之家收集整理的这篇文章主要介绍了如何模拟删除文件? (Linux)的前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
为了运行一些测试,我需要运行一个删除文件的应用程序

由于每次我需要运行另一个测试时重新创建此文件(> 40 GB)都很昂贵,我想模拟删除文件.

但这必须对删除它的应用程序完全透明.这意味着创建一个符号链接不是一个好的解决方案([-L symlink]返回0而[-L file]返回1,所以这对于app来说不是完全透明的).

解决方法

有几种解决方案. dd喜欢解决方案可能需要一些时间,但使用搜索
dd of=mybigfile bs=1 count=0 seek=40G

是即时的.然而这个命令占用的40g空间在df中看不到…

所以最好的可能是

fallocate -l 40g mybigfile

这会立即创建mybigfile,并且该空间实际上是从FS保留的(并且在df中可见)

评论后编辑 –

链接怎么样?

cd data 
make 40g file "myfile"

然后进行每次测试

cd ../test 
ln ../data/myfile testfile

command to unlink testfile

数据和测试目录在同一个FS(不同的目录,以防止错误等).

链接状态非常透明,不太可能被应用程序测试. unlink操作将删除与inode关联的名称,然后递减inode中的链接计数器,并且应该非常快(仅当inode计数器降至零时才会释放文件及其数据 – 这不会发生除非你取消链接data / myfile).

原文链接:https://www.f2er.com/linux/397894.html

猜你在找的Linux相关文章