使用过Linux的人基本上都对vi有些许了解,这是Linux各种发行版都会有的标准文本编辑器,功能很强大。他不但能编辑正常的ASCII/ASIN文本文档,也可以编辑二进制文档的,这里我们就以Fedora为例来看一下如何使用vi编辑二进制文档。
工具/原料
1
安装了Linux的计算机/笔记本电脑
2
vi编辑器和需要编辑的二进制文件
方法/步骤
1
在Fedora桌面打开“Applications”-“System Tools”-“Terminal”打开命令终端,为vi编辑做准备。
2
在终端切换到要编辑的二进制文件目录,然后输入“vi -b test.bin”,其中“test.bin”是我要编辑的二进制文件。当然也可以直接指定vi要打开编辑的文件路径。“-b”参数,就是告诉vi编辑器,我是在用二进制模式打开文件的。
3
打开文件之后,我们是很难看到文件实际内容的,因为是二进制的,文件不是可读的,因此也不能直接编辑和修改的。这时,我们可以使用命令“:%xxd”强制将其转化为可读的十六进制显示,就可以使用正常的vi命令对文件进行编辑了。
4
转化之后的文件内容以十六进制表示,左侧是文件偏移值。我们计划将文件编译开始的4个十六进制字符“FFFFFFFF”修改一下。
5
使用正常的vi编辑器命令将十六进制字符“FFFFFFFF”修改为“88888888”,修改完成后,使用esc命令返回到vi的命令模式,然后使用命令“:%xxd -r”就可以将其重新转化为二进制模式了。
6
转化完成后,就可以看到,二进制显示的内容与没修改之前的内容已经有所差异。这时使用命令“:wq”保存退出就可以了。
注意事项
1
注意不要修改任何文件偏移索引数字,否则修改将无法正常保存。
2
本实验在Fedora发行版进行的,vi编辑器是标准编辑器,因此同样适用于其他Linux发行版。
上一篇:C语言模拟VI编辑器
下一篇:VI编译器保存和退出方法介绍