vim编辑二进制文件
![](https://img2018.cnblogs.com/blog/1435263/201908/1435263-20190803124641652-1939966091.png)
第一步、以二进制方式打开文件
[root@centos7 tmp]# vim -b tree-1.6.0-10.el7.x86_64.rpm
第二步、扩展命令模式下,利用xxd命令转换为可读的十六进制
:%!xxd
![](https://img2018.cnblogs.com/blog/1435263/201908/1435263-20190803124558658-934660672.png)
第三步、插入模式下,编辑二进制文件
第四步、扩展命令模式下,利用xxd命令转回二进制
:%!xxd -r
![](https://img2018.cnblogs.com/blog/1435263/201908/1435263-20190803124615821-2128907010.png)
第五步、保存退出
# 破坏文件
[root@centos7 tmp]# echo >> tree-1.6.0-10.el7.x86_64.rpm
# 校验失败
[root@centos7 tmp]# rpm -K tree-1.6.0-10.el7.x86_64.rpm
error: tree-1.6.0-10.el7.x86_64.rpm: not an rpm package
# 二进制方式打开文件并编辑
[root@centos7 tmp]# vim -b tree-1.6.0-10.el7.x86_64.rpm
# 校验成功
[root@centos7 tmp]# rpm -K tree-1.6.0-10.el7.x86_64.rpm
tree-1.6.0-10.el7.x86_64.rpm: rsa sha1 (md5) pgp md5 OK