--------------------------------------------------------------------------------
linux 二进制文件显示方法 --- xxd hexdump od 用法大比拼。
最后发现: xxd -g1, hexdump -C 是最简单最清晰的用法。 显示很规范,与ultraedit 一致
其它用法仅做参考。
--------------------------------------------------------------------------------
[root@hjj ~]# echo /etc/passwd |xxd
0000000: 2f65 7463 2f70 6173 7377 640a /etc/passwd.
[root@hjj ~]# echo /etc/passwd |xxd -g1
0000000: 2f 65 74 63 2f 70 61 73 73 77 64 0a /etc/passwd.
[root@hjj ~]# echo /etc/passwd |hexdump
0000000 652f 6374 702f 7361 7773 0a64
000000c
[root@hjj ~]# echo /etc/passwd |hexdump -C
00000000 2f 65 74 63 2f 70 61 73 73 77 64 0a |/etc/passwd.|
0000000c
[root@hjj ~]# echo /etc/passwd |od
0000000 062457 061564 070057 071541 073563 005144
0000014
[root@hjj ~]# echo /etc/passwd |od -A x -x
000000 652f 6374 702f 7361 7773 0a64
00000c
[root@hjj ~]# echo /etc/passwd |od -A x -t x1
000000 2f 65 74 63 2f 70 61 73 73 77 64 0a
00000c
[root@hjj ~]# echo /etc/passwd |od -A x -t c
000000 / e t c / p a s s w d \n
00000c
[root@hjj ~]# echo /etc/passwd |od -A x -t x1 -t c
000000 2f 65 74 63 2f 70 61 73 73 77 64 0a
/ e t c / p a s s w d \n
00000c
推荐用法:
[root@hjj ~]# echo /etc/passwd |xxd -g1
[root@hjj ~]# echo /etc/passwd |hexdump -C
[root@hjj ~]# echo /etc/passwd |od -A x -t x1 -t c
核心总结: 字符串与二进制数据相互转换方法
a. 显示字符串 hello 的16进制数据:
$ echo "hello" |xxd -g1
0000000: 68 65 6c 6c 6f 0a hello.
b. 显示一个16进制数据流代表了什么字符串
$ echo -e "\x68\x65\x6c\x6c\x6f"
hello