使用cat查看二进制,显示乱码

[root@localhost ~]# cat /var/log/wtmp
~~~reboot3.10.0-514.el7.x86_64 �YO#5~~~runlevel3.10.0-514.el7.x86_64��Y��
,':0:0(unknown):0��YJ1':0:0:0��Y��J(:0:0bp:0��Y�m
�+pts/0/0bp:0��YMC
pts/0/0bp��Yh�
�,pts/0/0bp:0�Y�![(:0:0:0��YUpts/0/0bp��Y�`�.:0:0(unknown):0��Y�.:0:0:0��YH@�/:0:0root:0��Y���1pts/0/0root:0��Y[�\3pts/1ts/1root192.168.2.1��Y
���pts/0/0root��Y7��/:0:0:0��Y{�~~~shutdown3.10.0-514.el7.x86_64��Y�W
~~~reboot3.10.0-514.el7.x86_64��Y�W�tty1tty1�˜Y<��tty1tty1LOGIN�˜Y<�3~~~rtty3tty3טY+tty3tty3LOGINטY+tty3tty3root��Ynk tty4tty4 ��Y+T

使用xxd查看二进制文件

[root@localhost ~]# xxd /var/log/wtmp|head -20   #默认显示十六进制
0000000: 0200 0000 0000 0000 7e00 0000 0000 0000 ........~.......
0000010: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000020: 0000 0000 0000 0000 7e7e 0000 7265 626f ........~~..rebo
0000030: 6f74 0000 0000 0000 0000 0000 0000 0000 ot..............
0000040: 0000 0000 0000 0000 0000 0000 332e 3130 ............3.10
0000050: 2e30 2d35 3134 2e65 6c37 2e78 3836 5f36 .0-514.el7.x86_6
0000060: 3400 0000 0000 0000 0000 0000 0000 0000 4...............
0000070: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000080: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000090: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000a0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000b0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000c0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000d0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000e0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
00000f0: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000100: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000110: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000120: 0000 0000 0000 0000 0000 0000 0000 0000 ................
0000130: 0000 0000 0000 0000 0000 0000 0000 0000 ................ [root@localhost ~]# xxd -b /var/log/wtmp|head -20 #增加-b选项转换为二进制形式
0000000: 00000010 00000000 00000000 00000000 00000000 00000000 ......
0000006: 00000000 00000000 01111110 00000000 00000000 00000000 ..~...
000000c: 00000000 00000000 00000000 00000000 00000000 00000000 ......
0000012: 00000000 00000000 00000000 00000000 00000000 00000000 ......
0000018: 00000000 00000000 00000000 00000000 00000000 00000000 ......
000001e: 00000000 00000000 00000000 00000000 00000000 00000000 ......
0000024: 00000000 00000000 00000000 00000000 01111110 01111110 ....~~
000002a: 00000000 00000000 01110010 01100101 01100010 01101111 ..rebo
0000030: 01101111 01110100 00000000 00000000 00000000 00000000 ot....
0000036: 00000000 00000000 00000000 00000000 00000000 00000000 ......
000003c: 00000000 00000000 00000000 00000000 00000000 00000000 ......
0000042: 00000000 00000000 00000000 00000000 00000000 00000000 ......
0000048: 00000000 00000000 00000000 00000000 00110011 00101110 ....3.
000004e: 00110001 00110000 00101110 00110000 00101101 00110101 10.0-5
0000054: 00110001 00110100 00101110 01100101 01101100 00110111 14.el7
000005a: 00101110 01111000 00111000 00110110 01011111 00110110 .x86_6
0000060: 00110100 00000000 00000000 00000000 00000000 00000000 4.....
0000066: 00000000 00000000 00000000 00000000 00000000 00000000 ......
000006c: 00000000 00000000 00000000 00000000 00000000 00000000 ......
0000072: 00000000 00000000 00000000 00000000 00000000 00000000 ......
[root@localhost ~]#

下面来看一下如何编辑二进制和十六进制文件

以编辑/var/log/wtmp为例

首先vi /var/log/wtmp

在vi命令模式下输入

:%!xxd 进入十六进制编辑模式

:%!xxd -b 进入二进制编辑模式

那么编辑完了怎么保存呢

首先按esc推出编辑模式

:%!xxd -r 返回vi模式

然后:wq保存退出即可

另外还有查看十六进制的hexdump命令,最简单的使用方法就是hexdump filename 就会显示十六进制文件内容

[root@localhost ~]# hexdump   /var/log/wtmp|head -10
0000000 0002 0000 0000 0000 007e 0000 0000 0000
0000010 0000 0000 0000 0000 0000 0000 0000 0000
0000020 0000 0000 0000 0000 7e7e 0000 6572 6f62
0000030 746f 0000 0000 0000 0000 0000 0000 0000
0000040 0000 0000 0000 0000 0000 0000 2e33 3031
0000050 302e 352d 3431 652e 376c 782e 3638 365f
0000060 0034 0000 0000 0000 0000 0000 0000 0000
0000070 0000 0000 0000 0000 0000 0000 0000 0000
*
0000150 0000 0000 b409 5905 234f 000e 0000 0000
[root@localhost ~]#

linux二进制/十六进制日志文件如何查看和编辑的更多相关文章

  1. Linux下重要日志文件及查看方式

    http://os.51cto.com/art/201108/282184_all.htm   1.Linux下重要日志文件介绍 /var/log/boot.log 该文件记录了系统在引导过程中发生的 ...

  2. linux下二机制文件的查看和编辑

    linux下很多命令都是二机制:/bin/下的各种命令---/bin/sh./bin/cat./bin/dmesg./bin/hostname等 如何查看这些二机制文件: xxd.hexdump 参考 ...

  3. linux下 大日志文件查看与搜索---less

    场景 有一个几十m的大日志文件,里边的记录是按时间排序的. 现在需要找到其中,不知道在什么位置的一条错误消息.这时候,想把内容拷出来都费劲,就算拷出来了,一般的编辑器也难以hold住这么大的文件.这时 ...

  4. Linux文件系统与日志文件

    目录 一.inode和block 1.1.inode和block概述 1.2.inode的内容 inode包含文件的元信息: 查看inode号两种方式 目录文件的结构 1.3.inode的号码 用户通 ...

  5. 深入理解Linux文件系统与日志文件

    目录: 一.inode与block 二.inode内容 三.inode的号码 四.inode的大小 五.链接文件 六.inode节点耗尽故障处理 七.恢复EXT类型的文件编译安装extundelete ...

  6. 【linux日志】【日志分析】linux系统各日志文件的含义

    前段时间太忙,没有来得及管博客,最近时间充裕了,开始更新博客. 因为最近在看linux日志相关内容,把心得分享给大家 linux系统日志文件默认存放路径/var/log/ ls查看此路径下有哪些日志文 ...

  7. SOME:收缩数据库日志文件,查看表数据量和空间占用,查看表结构索引修改时间

    ---收缩数据库日志文件 USE [master]ALTER DATABASE yourdatabasename SET RECOVERY SIMPLE WITH NO_WAITALTER DATAB ...

  8. linux,windows下日志文件查找关键词

    1.查找 /apps/tomcat/tomcat3/apache-tomcat-7.0.69/logs 目录下已.txt结尾的文件,在文件中搜索关键字 IfcmpEcrService并打印行号 /lo ...

  9. Linux基础命令之文件过滤及内容编辑处理(一)

    . cat 功能是连接多个文件并且打印到屏幕输出,或重定向到指定的文件 五大功能: 1.查看文件内容 cat file.txt 2.合并文件内容 cat file1 file2>newfile3 ...

随机推荐

  1. caffe的一些概念理解

    有一天,师姐问我,epoch和iteration有什么区别?我一时语塞,竟然遍寻百度而不得,最后在stackoverflow上找到一个我认为比较靠谱的答案,虽然它不是最高票,但是是最好理解的,深得我心 ...

  2. python常用内建模块 collections,bs64,struct,hashlib,itertools,contextlib,xml

    #  2  collections 是Python内建的一个集合模块,提供了许多有用的集合类. # 2.1 namedtuple #tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: p ...

  3. SQL-13 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t。

    题目描述 从titles表获取按照title进行分组,每组个数大于等于2,给出title以及对应的数目t.CREATE TABLE IF NOT EXISTS "titles" ( ...

  4. Linux下安装微信(转)

    扩展:https://www.cnblogs.com/dunitian/p/9124806.html 安装过程如下: 1.下载最新版本tar.gz压缩包https://github.com/geeee ...

  5. 第二节 java流程控制(判断结构+选择结构)

    Java的判断结构: 1.if(条件表达式){ 执行语句 }: 2.if(条件表达式){ 执行语句 }else{ 执行语句 } 3. if(条件表达式){ 执行语句 }else if(条件表达式){ ...

  6. 线程安全的集合类、CopyOnWrite机制介绍(转)

    看过并发编程的书,这两种机制都有所了解,但不扎实其实.看到别人的博客描述的很精辟,于是转过来,感谢! 原文链接:https://blog.csdn.net/yen_csdn/article/detai ...

  7. PCP架构设计

    1.引言 现如今已经进入互联网时代,无论是工作还好娱乐都已经离不开互联网,与此同时,网络相关的问题也时不时的侵扰着我们,这需要我们具有一定网络相关知识来解决相关问题,而这时,一款工作便利,免费的网络分 ...

  8. Effective Java (ENUM篇)

    我们存放一些静态变量,像是一些变量和设置,等等等等,我们尽量使用ENUM,因为ENUM是不可实例化和继承的,所以他很安全,它是在程序一开始运行的时候进行一些编译,修改ENUM不需要再次编译. 在什么时 ...

  9. phpexcel 的使用

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  10. WHID Injector:将HID攻击带入新境界

    HID Attack是最近几年流行的一类攻击方式.HID是Human Interface Device的缩写,意思是人机接口设备.它是对鼠标.键盘.游戏手柄这一类可以操控电脑设备的统称. 由于电脑对这 ...