Linux进制转换命令 xxd、od

本文简介Linux中的进制转换小工具xxd、od
适用场景举例:
查看某个配置文件,是否有空格等特殊字符
可以xxd 文件,转换成十六进制的,查看是否含有20(空格在ASCII码中转换为十六进制的为20,=对应的为3d),一般根据20可以看出是否有空格

备注:ASCII码中字符对应转换十六进制关系,可以通过man ascii 或者od命令来查看(其中常用的20 为空格 3d为= od后面会介绍)

如下,最后的xxd显示没有20,表示配置后中没有空格

cat ons.properties |grep "ons.access"
ons.access.key=K8pfCPRU6gL2lldi

cat ons.properties |grep "ons.access"|xxd
0000000: 6f6e 732e 6163 6365 7373 2e6b 6579 3d4b  ons.access.key=K
0000010: 3870 6643 5052 5536 674c 326c 6c64 690a  8pfCPRU6gL2lldi.

1、xxd 二进制或者十六进制查看文件
man中解释:

NAME
       xxd - make a hexdump or do the reverse.

SYNOPSIS
       xxd -h[elp]
       xxd [options] [infile [outfile]]
       xxd -r[evert] [options] [infile [outfile]]

几个重要参数:
-b 二进制输出
-p 整个输出没有空格
-s [+][-]seek : 从第几个字符开始
-u 大写输出
-r: 反转操作,将16进制专程2进制

xxd使用,可以参考一下博文,以下内容转载于
http://blog.csdn.net/u011067439/article/details/42124549

具体用法举例:
xxd -a -c 12 -g 1 -l 512 -s +0x200 [inputfile]

【自动跳过空白】【每行显示12字节】【一个字节一块】【显示512字节内容】【从0x200开始】【输入文件】

实际测试:
xxd -a -c 12 -g 1 -l 512 ons.properties

xxd -a -c 12 -g 1 -l 512  ons.properties
0000000: 6f 6e 73 2e 61 63 63 65 73 73 2e 6b  ons.access.k
000000c: 65 79 3d 4b 38 70 66 43 50 52 55 36  ey=K8pfCPRU6
0000018: 67 4c 32 6c 6c 64 69 0a 6f 6e 73 2e  gL2lldi.ons.
0000024: 73 65 63 72 65 74 2e 6b 65 79 3d 55  secret.key=U
0000030: 33 6c 59 56 47 6c 33 4c 39 6e 62 32  3lYVGl3L9nb2
000003c: 33 63 45 4d 6f 67 57 63 55 56 7a 69  3cEMogWcUVzi
0000048: 4c 4a 32 54 37 0a 6f 6e 73 2e 63 61  LJ2T7.ons.ca
0000054: 72 2e 73 65 72 76 69 63 65 2e 70 72  r.service.pr
0000060: 6f 64 75 63 65 72 2e 69 64 3d 50 49  oducer.id=PI
000006c: 44 5f 63 61 72 55 70 64 61 74 65 5f  D_carUpdate_
0000078: 74 65 73 74 0a 6f 6e 73 2e 63 61 72  test.ons.car
0000084: 2e 73 65 72 76 69 64 65 2e 70 72 6f  .servide.pro
0000090: 64 75 63 65 72 2e 74 6f 70 69 63 3d  ducer.topic=
000009c: 63 61 72 55 70 64 61 74 65 5f 74 65  carUpdate_te
00000a8: 73 74 0a                             st.

2、od 查看特殊文件的格式内容,可以以十进制、八进制、十六进制、ASCII码等表示
man中释义

NAME
       od - dump files in octal and other formats

SYNOPSIS
       od [OPTION]... [FILE]...
       od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]
       od --traditional [OPTION]... [FILE] [[+]OFFSET[.][b] [+][LABEL][.][b]]

重要参数:
- A 指定地址基数,包括:
d 十进制
o 八进制(系统默认值)
x 十六进制
n 不打印位移值
- t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
除了选项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。
说明:od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal
Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。

使用举例:
查看 = ASCII码转16进制 :

echo "="| od -An  -t xC
 3d 0a
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值