Linux下怎么查看16进制文件

Linux下怎么查看16进制文件,第1张

1、xxd - make a hexdump or do the reverse.

能够显示文件对应的十六机制格式,同时还能将修还后的十六进制格式反写回文件,一般与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编辑器会读取命令的输出,并将其插入到当前编辑的文件中。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8294778.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存