覆盖文件而不截断它

覆盖文件而不截断它

我基本上是在寻找dd if=inputfile of=outputfile conv=notrunc,nocreat替代方案。我需要它,因为简单地覆盖文件可能会严重增加碎片,因此就地替换它们可以完全解决这个问题。

这就是为什么我需要一个替代方案:

  1. 我怀疑 dd 可能不是覆盖大文件的最快方法,因为它使用缓冲区。

我理解它是如何工作的方式:

  • 它从输入文件读取数据块(这需要时间)
  • 然后,它将这个块写入输出文件(同时输入文件没有被读取,即时间被浪费了)
  1. 另一个问题是dd使用起来相当麻烦,即当我想复制多个文件时,它需要 bash 脚本而不是command file1 file2 file3 /destination.

相关内容