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 ~]#