文档章节

vim中如何看二进制文件

zhangyujsj
 zhangyujsj
发布于 2015/12/26 21:39
字数 327
阅读 147
收藏 18
点赞 0
评论 0

通常来说文件分为文本和二进制文件两大类,文本文件的编辑很容易,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
博文 288
码字总数 224241
作品 0
广州
Vim 编辑二进制文件

vim可以很方便地编辑二进制文件,个人认为它比emacs的二进制编辑方式更 好用。vim中二进制文件的编辑是先通过外部程序xxd来把文件dump成其二进制的 文本形式,然后就可以按通常的编辑方式对文...

小小霸王枪 ⋅ 2013/11/13 ⋅ 0

VIM使用系列:二进制文件编辑

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

水海云 ⋅ 2013/06/27 ⋅ 0

在Linux下使用vim配合xxd查看并编辑二进制文件

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

李有常 ⋅ 2015/04/17 ⋅ 0

如何打开二进制文件

方法一: 一、首先 vim -b filename 二、在命令行模式中输入:%!xxd -r 便可以查看二进制文件了 方法二: 我们一般通过hexdump命令 来查看二进制文件的内容。 hexdump -C XXX(文件名) -C是参数...

a120518129 ⋅ 2017/01/11 ⋅ 0

LAMP环境搭建小结

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

ASD9577 ⋅ 2017/06/30 ⋅ 0

Java做web开发的另一种思路

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

丑矬穷 ⋅ 2016/06/02 ⋅ 4

第17章 LAMP环境搭建

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

WINWINJJ ⋅ 2016/11/16 ⋅ 0

mysql日志管理

Mysql日志 错误日志:记录mysql服务器启动,关闭以及运行错误等信息 二进制日志:已二进制文件的方式记录数据库中除select以外的所有操作(最重要的日志) 查询日志:记录查询的信息 慢查询日...

探花无情 ⋅ 2017/04/19 ⋅ 0

Mysql二进制日志binlog

Binlog是mysql的二进制日志, 它的主要目的是基于数据重放机制最大可能的恢复数据库的更新,因为二进制日志包含数据库备份后进行的所有更新。 Mysql的主从复制特性也依赖于此实现。 Binlog的...

麦拂沙 ⋅ 2015/10/13 ⋅ 0

Mysql二进制日志文件的管理

Mysql的二进制日志记录的是所有mysql数据库发生变更的信息,因此对数据库非常重要,二进制日志的作用我概括了一下主要包含如下几个方面: 1、可以用于数据库基于时间点的还原。 2、可以用来分...

最新更新消息 ⋅ 2015/12/15 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

PXE/KickStart 无人值守安装

导言 作为中小公司的运维,经常会遇到一些机械式的重复工作,例如:有时公司同时上线几十甚至上百台服务器,而且需要我们在短时间内完成系统安装。 常规的办法有什么? 光盘安装系统 ===> 一...

kangvcar ⋅ 昨天 ⋅ 0

使用Puppeteer撸一个爬虫

Puppeteer是什么 puppeteer是谷歌chrome团队官方开发的一个无界面(Headless)chrome工具。Chrome Headless将成为web应用自动化测试的行业标杆。所以我们很有必要来了解一下它。所谓的无头浏...

小草先森 ⋅ 昨天 ⋅ 0

Java Done Right

* 表示难度较大或理论性较强。 ** 表示难度更大或理论性更强。 【Java语言本身】 基础语法,面向对象,顺序编程,并发编程,网络编程,泛型,注解,lambda(Java8),module(Java9),var(...

风华神使 ⋅ 昨天 ⋅ 0

Linux系统日志

linux 系统日志 /var/log/messages /etc/logrotate.conf 日志切割配置文件 https://my.oschina.net/u/2000675/blog/908189 logrotate 使用详解 dmesg 命令 /var/log/dmesg 日志 last命令,调......

Linux学习笔记 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部