
能够显示文件对应的十六机制格式,同时还能将修还后的十六进制格式反写回文件,一般与vim结合使用。(在 vi 或 vim 的命令状态下)
:%!xxd 将当前文本转换为16进制格式。
:%!xxd -r 将当前文件转换回文本格式。
如果没有此命令,请先安装vim-common
rpm -qf /usr/bin/xxd
vim-common-7.4.160-1.el7_3.1.x86_64
2、od - dump files in octal and other formats
可以通过指定参数为查看十六进制
-A 指定左边侧栏显示的地址基数,默认为八进制
-t 指定输出单元的进制格式和字节数
-x = -t x2 输出单元为双字节(注意:每单元内排列顺序从左到右为 [高字节|低字节])
例:od -A x -t x1 file| more
3、hexdump - ascii, decimal, hexadecimal, octal dump
查看十六机制的首选工具。
-c 每单元以字节为单位,显示出对应的ASCII码
-C 每单元以字节为单位,同时显示十六机制和ASCII码
4、linux也有GUI的十六进制编辑器,例如ghex和bless
1.使用VI 或者 VIM命令状态下
:%!xxd --将当前文本转换为16进制格式。
:%!od --将当前文本转换为16进制格式。
:%!xxd -c 12--将当前文本转换为16进制格式,并每行显示12个字节。
:%!xxd -r --将当前文件转换回文本格式。
2.使用hexdump
例如 test.txt
用:%!xxd把二进制文件转换成如下形式:
0000000: 6162 630a abc.
注意:
1.要在左面hex现实区编辑,如果编辑了右面的可打印字符,在后面存盘时也会被忽略
2.最后用:%!xxd -r命令把编辑状态的文本转换成二进制数据,,否者会将16进制的信息转换为文本保存
[root@linux kobject_test]# hexdump test.txt
0000000 6261 0a63
0000004
注意这里的顺序与vim查看的不一致。
:%!xxd
对应的文件左侧显示了16进制,右侧是对应的原文件
:%!xxd -r
注意,只有左侧16进制被修改的部分会生效,对于右侧字符的修改不会产生效果。
:!ls -l
执行单独的Shell命令时,需要在命令之前加上":!"。例如在Vim命令模式中执行Shell命令":!ls -l",Vim编辑器将会显示命令的输出
:r !ls -l
配合命令":r",例如读取ls-l命令的输出到当前编辑的文件中,可以使用":r !ls -l"。这时Vim编辑器会读取命令的输出,并将其插入到当前编辑的文件中。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)