shell命令:xxd命令

xxd是二进制查看命令,默认将2文件显示为16进制字符串表示形式。

看例子:

[root@ambari dir]# cat t
31
[root@ambari dir]# xxd t
0000000: 3331 0a                                  31.
[root@ambari dir]# xxd -ps t
33310a
[root@ambari dir]# xxd -b t
0000000: 00110011 00110001 00001010                             31.

-ps 参数:以 postscript的连续16进制转储输出,也叫做纯16进制转储。
-b参数:以2进制字符串形式输出。


-r参数:逆向转换。将16进制字符串表示转为实际的数:

[root@ambari dir]# echo -n "0000000: 3331 0a                                  31." | xxd  -r
31
[root@ambari dir]# echo -n "0000000: 3331 0a" | xxd  -r
31
[root@ambari dir]# echo -n "33310a" | xxd  -r -ps
31
[root@ambari dir]# echo -n "33310A" | xxd  -r -ps
31

实际上xxd -r -ps是将字符串"33310A"转为了0x33310A这个数,而这个数正好可以被shell显示为"31"而已。

[root@ambari ~]#  echo -n "aabbcc0a" | xxd  -r -ps
ª»
[root@ambari ~]# 
posted @ 2018-12-17 09:03  xuejianbest  阅读(10099)  评论(0编辑  收藏  举报