当前位置: 首页>>技术教程>>正文


请为shell推荐一个hex编辑器

, , ,

问题描述

你能推荐一个可以从shell运行的十六进制编辑器吗?我需要能够编辑不仅查看内容。

最佳解决办法

emacs具有用于十六进制编辑的hexl-mode。

次佳解决办法

简单…

xxd

这个工具是我在这类任务中找到的最常用的工具。如果需要,可以使用-p删除右侧的ascii可读部分,并且可以使用-r函数恢复(将ascii输入更改为二进制数据)。以下是一些简单的示例用法:

使用ascii视图转换为十六进制:

echo example|xxd

转换为hexdump(右侧没有ascii视图):

echo example|xxd -p

从hexdump转换回二进制数据:

echo 746573740a|xxd -p -r

在shell脚本中,你可以使用它变得更加复杂。我实际上已经使用它和”dd”来扫描特定的序列并以预定义的方式修改它们,所有这些都来自shell脚本,只使用bash,dd和xxd。您实际上不需要dd,因为您可以将”seek”指向特定位置并将该字节序列写入该位置。这种方法的最大优点是易于编写脚本。

第三种解决办法

还有DHEX

apt-cache show dhex

ncurses based hex editor with diff mode

This is more than just another hex editor: It includes a diff mode, which can be used to easily and conveniently compare two binary files. Since it is based on ncurses and is themeable, it can run on any number of systems and scenarios. With its utilization of search logs, it is possible to track changes in different iterations of files easily.

如果你不熟悉vim或emacs,这个似乎没有太多的学习曲线。

第四种办法

您也许可以将vi /vim用作十六进制编辑器(它可以调用xxd)。

输入十六进制模式

:%!xxd

退出十六进制模式

:%!xxd -r

资料来源:Using vi as a hex editor

第五种办法

我知道这是一个老问题,但我对这里的所有答案都不满意。我正在寻找一个十六进制编辑器,允许我创建自己的二进制文件(也称为插入模式),并可以处理非常大的文件。

我遇到了满足这两个要求的tweak以及OP。

  • Tweak supports insert mode (not particularly useful if you’re editing an executable file or a filesystem image, but can be extremely handy in other file formats such as PNG).
  • Cutting, copying and pasting within the file you are editing is extremely efficient. No matter how big the chunk of data you are moving around – even if it’s a 200Mb section of a CD image – Tweak will always perform the operation effectively instantly.
  • Tweak supports lazy loading of the input file: rather than sucking it all into memory straight away, it simply remembers which parts of the editing buffer are copies of which parts of the input file and refers to the file on disk when it needs to. Tweak only has to take significant time when you genuinely need it to read the entire file. The only two operations with this property are searching, and saving the modified version of the file to disk. Everything else is instant.

第六种办法

Bless Hex Editor是一个二进制(十六进制)编辑器,目前提供以下功能:

  • 高效编辑大型数据文件和块设备。

  • 多级撤消 – 重做操作。

  • 可定制的数据视图。

  • 屏幕上的快速数据呈现。

  • 多个标签。

  • 快速查找和替换操作。

  • 数据转换表。

  • 高级复制/粘贴功能。

  • 突出显示选择模式匹配文件。

  • 基于插件的架构。

  • 将数据导出到文本和html(其他包含插件)。

  • 对数据的按位运算。

  • 全面的用户手册。

你可以从这里下载它:http://packages.debian.org/sid/all/bless/download

要安装它,请参阅How do I install a .deb file via the command line?

需要更多?

第七种办法

试试hexed,它用于脚本和制作文件。

第八种办法

还有ht。安装为

sudo apt-get install ht

然后键入hte运行它。

不过,我还没有尝试使用非常大的文件/分区。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1620.html,未经允许,请勿转载。