相当于文件上的记忆:将一定范围的字节复制到较早的位置


3

对于具有相同输入和输出文件的文件,memmove等价于大型文件?

dd 当我向右移动文件内容时可以使用,但如果向左移动文件内容则无法使用,因为没有重叠处理。

ddrescue 具有反向副本,但拒绝使用相同的输入和输出文件。


左右是起点还是终点?它可以更靠近起点,但不能更靠近终点,除非不将其包装在一个向后的循环中。
弗罗斯特斯2014年

左是开始。
simonzack 2014年

在具有某些文件系统的Linux上,您可以尝试fallocate
jfs

Answers:


0

beav是一个可视的二进制编辑器,其命令类似于emacs可以编辑二进制文件的命令。您将用于移动块的序列将遵循以下行:

  • 查找块的开始并设置标记 ESC.
  • 转到块末尾并删除光标标记(内容存储在kill缓冲区中)CTRL-W
  • 转到您希望块移动到的位置并拉动 CTRLY
  • 文件保存CTRL-XCTRLS
  • 退出CTRL-XCTRLC

这是Debian beav软件包的描述。

提取

使用beav,您可以用HEX,ASCII,EBCDIC,OCTAL,DECIMAL和BINARY编辑文件。您可以在FLOAT模式下显示但不能编辑数据。您可以在任何一种模式下进行搜索或搜索和替换。数据可以字节,字或双字格式显示。在显示WORD或DOUBLE WORDS时,可以按INTEL或MOTOROLA的字节顺序显示数据。任何长度的数据都可以插入文件中的任何位置。该数据的来源可以是键盘,另一个缓冲区或文件。可以将所显示的任何数据以显示的格式发送到打印机。可以处理大于内存的文件。


beav是否可以在不填满ram的情况下使用大型(多TB)复制粘贴?
simonzack 2014年

您应该编辑原始问题并添加相关信息。我已经添加了一个摘录,但是还没有尝试过这么大的文件。抱歉
X Tian
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.