设为首页 - 加入收藏 温州站长网 (http://www.0577zz.com)-电商,营销推广,科技,建站经验,云计算,5G,大数据,站长网!
热搜: 优化 为什么 什么 站长之家
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

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

发布时间:2021-03-19 07:45 所属栏目:[Linux] 来源:网络整理
导读:为了运行一些测试,我需要运行一个删除文件的应用程序 由于每次我需要运行另一个测试时重新创建此文件( 40 GB)都很昂贵,我想模拟删除此文件. 但这必须对删除它的应用程序完全透明.这意味着创建一个符号链接不是一个好的解决方案([-L symlink]返回0而[-L fil

为了运行一些测试,我需要运行一个删除文件的应用程序

由于每次我需要运行另一个测试时重新创建此文件(> 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).

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

网友评论
推荐文章
热点阅读