使用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. Android知识补充(Android学习笔记)

    Android知识补充 ●国际化 所谓的国际化,就是指软件在开发时就应该具备支持多种语言和地区的功能,也就是说开发的软件能同时应对不同国家和地区的用户访问,并针对不同国家和地区的用户,提供相应的.符合 ...

  2. [Leetcode 100]判断二叉树相同 Same Tree

    [题目] 判断二叉树是否相同. [思路] check函数. p==null并且q==null,返回true;(两边完全匹配) p==null或q==null,返回false;(p.q其中一方更短) p ...

  3. Cracking The Coding Interview4.8

    //You are given a binary tree in which each node contains a value. Design an algorithm to print all ...

  4. C++基础知识:动态类型识别

    1.动态类型指的是基类指针所指向的对象的实际类型 2.C++中的多态根据实际的对象类型调用对应的虚函数(1)可以在基类中定义虚函数返回具体的类型信息(2)所有的派生类都必须实现类型相关的虚函数(3)每 ...

  5. Centos7安装配置iptable

    CentOS7默认的防火墙不是iptables,而是firewalle. 安装iptable iptable-service #先检查是否安装了iptables service iptables st ...

  6. java命令提示找不到或无法加载主类

    使用java执行命令出现此错误 localhost:SocketDemo wangwei$ javac Server.java localhost:SocketDemo wangwei$ java S ...

  7. Linux文件系统命令 cat

    命令名:cat 功能:在当前窗口中查看制定位置的文件的内容. eg: renjg@renjg-HP-Compaq-Pro--MT:~/test$ cat /etc/apache2/ports.conf ...

  8. 运行时常量池中的符号引用/String.intern() /ldc指令

    运行时常量池,之前放在方法区(永久代)中,1.8之后被转移到元空间,放到了native memory中. 具体的数据结构是:(看对象的内存布局,句柄访问还是对象头中保存指向类的元数据的指针,这里以对象 ...

  9. h5页面嵌入android app时遇到的问题

    1.h5页面 通过 .css("transform") 或 .style.transform 获取 transform属性,并通过 split 方法解析 页面translateY ...

  10. [从Paxos到ZooKeeper][分布式一致性原理与实践]<二>一致性协议[Paxos算法]

    Overview 在<一>有介绍到,一个分布式系统的架构设计,往往会在系统的可用性和数据一致性之间进行反复的权衡,于是产生了一系列的一致性协议. 为解决分布式一致性问题,在长期的探索过程中 ...