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