文档章节

vim中如何看二进制文件

zhangyujsj
 zhangyujsj
发布于 2015/12/26 21:39
字数 327
阅读 148
收藏 18

通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,Windows下的 notepad、UltraEdit都很好用,二进制文件的编辑在Windows下也有很多工具,UltraEdit也不错,但是Linux下呢?今天终 于发现了一个好方法,但是最终出处找不到了。

 

首先创建一个二进制文件:

1
2
3
[oracle@logserver tmp]$ echo -n "ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz" > test .bin
[oracle@logserver tmp]$ cat test .bin
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz[oracle@logserver tmp]$

注意echo 一定要跟上 -n 选项,否则会被自动加上一个换行行,再用vim打开 test.bin

1
[oracle@logserver tmp]$ vim -b test .bin

vim 的 -b 选项是告诉 vim 打开的是一个二进制文件,不指定的话,会在后面加上 0x0a ,即一个换行符。

在命令模式下键入:

1
:%!xxd

image

如果 vim 后面没有加 -b 选项就会出现可恶的 0x0a:

image

如果有 -b 选项就不会有这种情况:

image

然后进入编辑模式改,改就是了,我将A、B对应的41、42改成61、62,将a、b对应的61、62改成41、42。

image

回到命令模式输入:

1
:%!xxd -r

image

此时可以发现AB和ab的位置互换了。

image

最后在命令模式中输入 :wq 保存退出即可。


© 著作权归作者所有

共有 人打赏支持
zhangyujsj
粉丝 23
博文 358
码字总数 224241
作品 0
广州
VIM使用系列:二进制文件编辑

vim一般是作为文本编辑工作,主要如代码编写,编辑二进制文件一般不再vim的功能范畴。不过在Linux系统中偶尔也会碰到一些二进制文件,如二进制的数据文件等,在一定范围内也可以使用vim进行查...

水海云
2013/06/27
0
0
在Linux下使用vim配合xxd查看并编辑二进制文件

通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,Windows下的notepad、UltraEdit都很好用,二进制文件的编辑在Windows下也有很多工具,UltraEdit也不错,但是Linux下呢?今天...

李有常
2015/04/17
0
0
LAMP环境搭建小结

1. 为什么下载源码包需要到官网上去下载? 简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。 2. 64位机器是否可以安装3...

ASD9577
2017/06/30
0
0
Java做web开发的另一种思路

gcc可以将Java代码编译为二进制,但是二进制如何不能打war包。 可执行文件处理web请求2种办法 自己监听处理web请求 利用fastcgi协议,挂在nginx后面 问题 性能如何?处理请求的速度快不快? ...

丑矬穷
2016/06/02
74
4
第17章 LAMP环境搭建

1. 为什么下载源码包需要到官网上去下载? 简单说就是为了安全,如果是非官方下载的源码包,有可能被别有用心的人动过手脚,毕竟是源码的,任何人都可以修改代码。2. 64位机器是否可以安装3...

WINWINJJ
2016/11/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

八大包装类型的equals方法

先看其中一个源码 结论:八大包装类型的equals方法都是先判断类型是否相同,不相同则是false,相同则判断值是否相等 注意:包装类型不能直接用==来等值比较,否则编译报错,但是数值的基本类型...

xuklc
35分钟前
1
0
NoSQL , Memcached介绍

什么是NoSQL 非关系型数据库就是NoSQL,关系型数据库代表MySQL 对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很耗...

TaoXu
昨天
0
0
890. Find and Replace Pattern - LeetCode

Question 890. Find and Replace Pattern Solution 题目大意:从字符串数组中找到类型匹配的如xyy,xxx 思路: 举例:words = ["abc","deq","mee","aqq","dkd","ccc"], pattern = "abb"abc ......

yysue
昨天
0
0
Linux | Redis

写在前面的话 常言道,不作笔记不读书。在下是深有体会啊,所以,跟我一起做下本节的笔记吧,或许多年以后,你一定会感谢今天的你。 安装 在官网的下载页 Redis Download 直接写了在Linux的安...

冯文议
昨天
1
0
NoSQL-memcached

NoSQL介绍 NoSQL叫非关系型数据库。而关系型数据库代表有MySQL。对于关系型数据库来说,是需要把数据存储到库、表、行、字段里,查询的时候根据条件一行一行地去匹配,当量非常大的时候就很...

ln97
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部