如何在 Ubuntu 中编辑文件的二进制或十六进制数据?

fos*_*nux 2 text-editor software-recommendation binary

免责声明:这与有哪些好的 GUI 二进制查看器/编辑器不同?.

如何在类似编辑器的 gedit 中编辑文件的二进制数据?例如:

00001010101010010101
Run Code Online (Sandbox Code Playgroud)

以及如何在类似编辑器的 gedit 中编辑文件的十六进制数据?例如:

91021AF9B
Run Code Online (Sandbox Code Playgroud)

我不想要一位编辑兼具两者。我想要两个不同的编辑器。

我看过一个 GHex,这不是我想要的。

mch*_*hid 5

您可以使用应该已经安装的 vim。

只是为了确保,继续安装vim:

sudo apt-get update
sudo apt-get install vim
Run Code Online (Sandbox Code Playgroud)

现在,使用 vim 命令:%! xxd -b编辑二进制文件,如下例所示:

vim /path/to/filename
Run Code Online (Sandbox Code Playgroud)

注意:您可以将文件拖放到终端中,自动为您填写路径

仅供参考,:%! command前缀允许您将当前文件的内容通过管道传输到命令的标准输入,并用命令的标准输出替换文件的内容。xxd是一个linux命令。

打开文件后,按ESC,然后键入:%! xxd -b,然后按ENTER

或者,您可以添加标志-g4以将位分组为 32 位数据包,例如:%! xxd -b -g4

在此处输入图片说明

对于十六进制编辑,请改用 vim 命令:%! xxd:%! xxd -g4

d

ESC,然后i进入允许您编辑的“插入”模式。

ESC然后键入,:w然后按ENTER保存文件。

ESC,然后键入:q后跟ENTERESC,然后键入:q!后跟ENTER以退出文件。

Vim 需要一些时间来适应,但一旦你花时间学习它是如何工作的,它真的很棒。

此外,vim 允许您编辑几乎所有内容,包括 sqlite 和各种其他内容。

此外,当您将二进制文件转换为十六进制然后进行编辑时,我认为您可能需要使用此处所述的:%! xxd -r命令将其转换回二进制文件

单击此处可在官方 wiki 中找到更多信息。

这是一个类似的帖子:

https://unix.stackexchange.com/questions/282215/how-to-view-a-binary-file/282220

单击此处了解有关编辑 .vimrc 文件以允许某些相关命令的更多信息。


一个非常相似的编辑器是bvi. 运行以下命令进行安装:

sudo apt-get install bvi
Run Code Online (Sandbox Code Playgroud)

点击这里获取更多信息。