linux下的二进制文件的编辑和查看

摘要:
在Linux中编辑和查看二进制文件1.在Linux软件中查看二进制文件:xxd(默认二进制系统)hexdump(默认十六进制系统,可以转换为其他系统)od(默认八进制系统,也可以转换为其它系统)2.编辑:1.biew2,hexdedit3,vimVim编辑二进制文件。Vim不是为此目的而设计的,因此它有几个局限性。但您可以读取文件、更改字符并保存它。结果是,你的档案中只有一个字符被更改,其他字符与最初的第一次模拟考试相同

一、在Linux下查看二进制文件的软件:

xxd (默认2进制)

hexdump  (默认16进制,可转其他进制) 

od (默认8进制,可转其他进制)

二、编辑:

1、biew

2、hexedit

3、vim

Vim 来编辑二进制文件。Vim 本非为此而设计的,因而有若干局限。但你能读
取一个文件,改动一个字符,然后把它存盘。结果是你的文件就只有那一个字符给改了,
其它的就跟原来那个一模一样。
   要保证 Vim 别把它那些聪明的窍门用错地方,启动 Vim 时加上 "-b" 参数:
        vim -b datafile
这个参数设定了 'binary' 选项。其作用是排除所有的意外副作用。例如,'textwidth'
设为零,免得文本行给擅自排版了。并且,文件一律以 Unix 文件格式读取。
二进制模式可以用来修改某程序的消息报文。小心别插入或删除任何字符,那会让程序运
行出问题。用 "R" 命令进入替换模式。
文件里的很多字符都是不可显示的。用 Hex 格式来显示它们的值:
        :set display=uhex
另外,也可以用命令 "ga"  来显示光标下的字符值。当光标位于一个  字符上时,
该命令的输出看起来就像这样:
          27, Hex 1b,  Octal 033
文件中也许没那么多换行符。你可以关闭 'wrap' 选项来获得总览的效果:
        :set nowrap
字 节 位 置
要发现你在文件中的当前字节位置,请用这个命令:
        g CTRL-G
其输出十分冗长:
    Col 9-16 of 9-16; Line 277 of 330; Word 1806 of 2058; Byte 10580 of 12206
最后两个数字就是文件中的当前字节位置和文件字节总数。这已经考虑了 'fileformat'
选项导致换行符字节不同的影响。
    要移到文件中某个指定的字节,请用 "go" 命令。例如,要移到字节 2345:
        2345go
使 用 XXD
一个真正的二进制编辑器用两种方式来显示文本: 二进制和十六进制格式。你可以在 Vim
里通过转换程序 "xxd" 来达到这效果。该程序是随 Vim 一起发布的。
   首先以二进制方式编辑这个文件:
        vim -b datafile
现在用 xxd 把这个文件转换成十六进制:
        :%!xxd
文本看起来像这样:
        0000000: 1f8b 0808 39d7 173b 0203 7474 002b 4e49  ....9..;..tt.+NI
        0000010: 4b2c 8660 eb9c ecac c462 eb94 345e 2e30  K,.`.....b..4^.0
        0000020: 373b 2731 0b22 0ca6 c1a2 d669 1035 39d9  7;'1.".....i.59.
现在你可以随心所欲地阅读和编辑这些文本了。 Vim 把这些信息当作普通文本来对待。
修改了十六进制部分并不导致可显示字符部分的改变,反之亦然。
   最后,用下面的命令把它转换回来:
        :%!xxd -r
只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。



来自为知笔记(Wiz)



免责声明:文章转载自《linux下的二进制文件的编辑和查看》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇导出EXCEL出现折行问题【4】计算神经网络的输出下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux内核学习笔记五——中断推后处理机制

一 中断硬件通过中断与操作系统进行通信,通过对硬件驱动程序处注册中断处理程序,快速响应硬件的中断。 硬件中断优先级很高,打断当前正在执行的程序。有两种情况: 硬件中断在中断处理程序中处理 硬件中断延后再进行处理 这个具体硬件相关,在中断处理程序中处理,打断了当前正在执行的程序;所有中断都将被屏蔽;如果占用时间太长不合适, 造成系统交互性,反应能力都会受到影...

Linux quota命令参数及用法详解---Linux磁盘配额限制设置和查看命令

功能说明:显示磁盘已使用的空间与限制。 语  法:quota [-quvV][用户名称...] 或 quota [-gqvV][群组名称...] 补充说明:执行quota指令,可查询磁盘空间的限制,并得知已使用多少空间。 参  数:-g 列出群组的磁盘空间限制。-q 简明列表,只列出超过限制的部分。-u 列出用户的磁盘空间限制。-v 显示该用户或群组,...

Linux查找字符串命令grep(转)

Linux grep命令用于查找文件里符合条件的字符串。 grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据。 语法 grep [-abcEFGhHilLnqrsvVwxy][-...

关于Linux上的SSH服务无法启动,提示“/var/empty/sshd must be owned by root and not group or world-writable”错误

首先通过物理终端进入到linux上,手工检查ssh发现没运行# /etc/init.d/sshd statussshd is stopped 手动启动服务,发现报告权限错误。# /etc/init.d/sshd start Starting sshd:/var/empty/sshd must be owned by root and not group o...

Linux平台Oracle 12.1.0.2 单实例安装部署

主题:Linux平台Oracle 12.1.0.2 单实例安装部署环境:RHEL 6.5 + Oracle 12.1.0.2需求:安装部署OEM 13.2需要Oracle 12.1.0.2版本作为资料库 1.下载介质 目前从OTN就可以直接下载到12.1.0.2的介质。 linuxamd64_12102_database_1of2.zip linuxamd...

Arcface人脸识别SDK(java+linux/window) 初试

虹软官网:http://www.arcsoft.com.cn/ 登录后要实名认证才可以使用sdk。 下图这两个是我选择的,window版本地开发测试,linux版是生产环境使用。   1. 保存激活码,下载sdk包。 2. 将动态链接库.dll或.so放在java.libary.path目录(否则执行时会报错) (不知道可以打印出目录:System.out...