如何用随机数据替换文件开头的几个字节?

0 投票
1 回答
531 浏览
提问于 2025-04-17 21:47

我写了一个脚本,用来创建一些文件,这些文件里有随机的数据(主要是用dd命令实现的),目的是为了测试一个缓存服务器的性能。现在我需要定期更新这些文件。

这个缓存服务器会读取文件的前1000个字节,如果它认得这些字节,就会直接从缓存中提供内容,而不是从远在网上的某个服务器获取。

为了加快新文件的创建速度,我只需要更新文件的前1000个字节。请问我该如何打开一个文件,并用随机数据更新这1000个字节呢?我想避免先生成1000个随机字节,然后再把原文件的其余部分追加上去。这样做会导致原文件在磁盘上被重写,速度太慢了。

我觉得用dd命令可能不行,因为看起来它总是会写入一个新文件。如果我错了,请纠正我。

我还有哪些选择呢?我不介意用Python来做这件事,但我还是个初学者……不确定这是不是最简单的入门方式。

1 个回答

4

你可以使用dd这个工具来实现这个功能,只需要加上“conv=notrunc”这个选项,比如:

dd if=/dev/urandom of=myrandom bs=100 count=10 conv=notrunc

这样做会告诉dd在覆盖文件的前1000个字节时,不要删除文件剩下的部分。

撰写回答