hexdump是Linux下的一個二進制檔案檢視工具,可以将二進制檔案轉換為ASCII、10進制、16進制或8進制進行檢視。
首先我們準備一個測試用的檔案test,十六進制如下:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
選項:
-n length
隻格式化輸入檔案的前length個位元組
-C
輸出十六進制和對應字元
輸入:
hexdump -n 13 -C test
輸出:
00000000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c |.............|0000000d
-s 從偏移量開始輸出
hexdump -n 13 -C -s 30 test
0000001e 1e 1f 20 21 22 23 24 25 26 27 28 29 2a |.. !"#$%&'()*|0000002b
hexdump進階用法:
-e 指定格式字元串,格式字元串包含在一對單引号中,格式字元串形如:'a/b "format1" "format2"'
每個格式字元串由三部分組成,每個由空格分隔,
第一個形如a/b,b表示對每b個輸入位元組應用format1格式,a表示對每a個輸入位元組應用format2格式,一般a>b,且b隻能為1,2,4,另外a可以省略,省略則a=1。
format1和format2中可以使用類似printf的格式字元串,
如:%02d:兩位十進制
%03x:三位十六進制
%02o:兩位八進制
%c:單個字元等
還有一些特殊的用法:
%_ad:标記下一個輸出位元組的序号,用十進制表示%_ax:标記下一個輸出位元組的序号,用十六進制表示
%_ao:标記下一個輸出位元組的序号,用八進制表示
%_p:對不能以正常字元顯示的用.代替同一行如果要顯示多個格式字元串,則可以跟多個-e選項
本文轉自 boy461205160 51CTO部落格,原文連結:http://blog.51cto.com/461205160/1751472