你能推荐一个可以在命令行中运行的十六进制编辑器吗?我需要能够编辑内容,而不仅仅是查看。
xxd
这个工具是我找到的用于这种类型任务最常见的(在最新的Ubuntu和macOS上默认可用)。如果需要,您可以使用-p
删除右侧的ASCII可读部分,并可以使用-r
函数将ASCII输入转换为二进制数据。以下是一些简单的示例用法:
使用ASCII视图转换为十六进制:
echo example | xxd
echo example | xxd -p
从十六进制转换回二进制数据:
echo 746573740a | xxd -p -r
echo
命令会在行尾替换为换行符。为了避免这种情况,你可以像这样调用命令:echo -n example | xxd
。 - Maxim Mandrikxxd
可以将二进制转换为可读的十六进制,然后再转回来,因此配合普通文本编辑器使用,实际上可以满足一些十六进制编辑器的使用情况。 - Thomasxdd -r
将十六进制转储文件转换回二进制文件。 - Denis还有DHEX
apt-cache show dhex
基于ncurses的十六进制编辑器,具有差异模式
这不仅仅是另一个十六进制编辑器:它还包括了一个差异模式,可以方便地比较两个二进制文件。由于它基于ncurses并且可定制主题,因此可以在任何系统和场景下运行。通过利用搜索日志,可以轻松跟踪文件的不同迭代中的更改。
如果你对vim或emacs不熟悉,这个编辑器似乎没有太大的学习曲线。
:%!xxd
会向文件中添加新字符(例如换行符)。 - Quazi Irfanxxd
完成的,而是 Vim 本身完成的。 - Ruslan:set binary
命令!否则,VIM很可能会在文件末尾添加一个换行符(CR/LF/CRLF),导致文件损坏(具体取决于你设置的格式,比如 set ff=[mac/unix/dos]
)。这很可能会破坏可执行文件和数据二进制文件。实际上也确实如此。确保VIM处于二进制模式可以防止这种情况发生。 - Braden Bestdd
到一个文件中,并在emacs中打开该文件,然后再将其dd
回去即可。 - psusisudo apt-get install hexcurse
我知道这是一个老问题,但我对这里所有的答案都不满意。我正在寻找一款十六进制编辑器,它可以让我创建自己的二进制文件(也称为插入模式),并且可以处理非常大的文件。
我遇到了 tweak,它同时满足这两个要求,以及 OP 的要求。
Tweak支持插入模式(如果您正在编辑可执行文件或文件系统映像,则不是特别有用,但在其他文件格式(如PNG)中非常方便)。tweak
,但对我来说很别扭。如果我真的需要编辑,我可能会再试一次。从终端运行man tweak
可以获得概述和命令列表。 - Lambartbless
命令从终端中运行它。 - Radu Rădeanuht
。安装它如下:sudo apt-get install ht
然后通过键入 hte
运行它。
不过,我还没有尝试过在真正大的文件/分区上运行。