![覆盖文件而不截断它](https://linux22.com/image/206996/%E8%A6%86%E7%9B%96%E6%96%87%E4%BB%B6%E8%80%8C%E4%B8%8D%E6%88%AA%E6%96%AD%E5%AE%83.png)
我基本上是在寻找dd if=inputfile of=outputfile conv=notrunc,nocreat
替代方案。我需要它,因为简单地覆盖文件可能会严重增加碎片,因此就地替换它们可以完全解决这个问题。
这就是为什么我需要一个替代方案:
- 我怀疑 dd 可能不是覆盖大文件的最快方法,因为它使用缓冲区。
我理解它是如何工作的方式:
- 它从输入文件读取数据块(这需要时间)
- 然后,它将这个块写入输出文件(同时输入文件没有被读取,即时间被浪费了)
- 另一个问题是
dd
使用起来相当麻烦,即当我想复制多个文件时,它需要 bash 脚本而不是command file1 file2 file3 /destination
.