我基本上是在寻找dd if=inputfile of=outputfile conv=notrunc,nocreat
替代方案。我需要它,因为简单地覆盖文件可能会严重增加碎片,因此就地替换它们可以完全解决这个问题。
这就是为什么我需要一个替代方案:
- 我怀疑 dd 可能不是覆盖大文件的最快方法,因为它使用缓冲区。
我理解它是如何工作的方式:
- 它从输入文件读取数据块(这需要时间)
- 然后,它将这个块写入输出文件(同时输入文件没有被读取,即时间被浪费了)
- 另一个问题是
dd
使用起来相当麻烦,即当我想复制多个文件时,它需要 bash 脚本而不是command file1 file2 file3 /destination
.