hexdump命令一般用來查看“二進制”文件的十六進制編碼,但實際上它能查看任何文件钓株,而不只限于二進制文件实牡。
語法
hexdump [options] file...
選項
-b 單字節(jié)八進制顯示。
-c 單字節(jié)字符顯示轴合。
-C 輸出規(guī)范的十六進制和ASCII碼铲掐。
-d 雙字節(jié)十進制顯示。
-o 雙字節(jié)八進制顯示值桩。
-x 雙字節(jié)十六進制顯示。
-e format 指定格式字符串豪椿,格式字符串包含在一對單引號中奔坟,格式字符串形如:'a/b "format1" "format2"'。
-f format_file file that contains format strings
-n length 只格式化輸入文件的前l(fā)ength個字節(jié)搭盾。
-s offset 從偏移量開始輸出咳秉。
-v 輸出詳細信息
-V 輸出版本信息
每個格式字符串由三部分組成,每個由空格分隔鸯隅,第一個形如a/b澜建,b表示對每b個輸入字節(jié)應用format1格式,a表示對每a個輸入字節(jié)應用format2格式蝌以,一般a>b炕舵,且b只能為1,2跟畅,4咽筋,另外a可以省略,省略則a=1徊件。format1和format2中可以使用類似printf的格式字符串奸攻,如:
%02d:兩位十進制
%03x:三位十六進制
%02o:兩位八進制
%c:單個字符等
還有一些特殊的用法:
%_ad:標記下一個輸出字節(jié)的序號,用十進制表示虱痕。
%_ax:標記下一個輸出字節(jié)的序號睹耐,用十六進制表示。
%_ao:標記下一個輸出字節(jié)的序號部翘,用八進制表示硝训。
%_p:對不能以常規(guī)字符顯示的用 . 代替。
同一行如果要顯示多個格式字符串,則可以跟多個-e選項捎迫。
使用
hexdump -e '16/1 "%02X " " | "' -e '16/1 "%_p" "\n"' test
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F | ................
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F | ................
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F | !"#$%&'()*+,-./</pre>