hexdump用於以16進制、10進制、8進制、ascii碼形式打印文件內容,也能夠是標準輸入的內容。shell
用法code
hexdump [選項] 文件 ...
orm
選項ci
選項 | 參數 | 說明 |
---|---|---|
-b | 單字節8進制格式顯示 | |
-c | 單字節字符格式顯示 | |
-o | 兩byte八進制格式顯示 | |
-d | 兩byte十進制格式顯示 | |
-x | 兩byte十六進制格式顯示 | |
-C | 標準的hex+ASCII格式顯示 | |
-e | 格式 | 指定格式化輸出表達式 |
-f | 格式文件 | 指定格式換輸出表達式文件 |
-n | 長度 | 僅顯示指定長度字節的數據 |
-s | 偏移 | 跳過指定長度字節的數據 |
-v | 顯示時不壓縮類似的行 |
前面六個選項實際上是經過後面五個選項實現的顯示效果。字符串
hexdump高級用法:table
-e
指定格式字符串,格式字符串包含在一對單引號中,格式字符串形如form
'a/b "format1" "format2"'
class
每一個格式字符串由三部分組成,每一個部分由空格分隔,第一個形如a/b,表示每a個元素爲一行,每一個元素佔b個字節。b表示對每b個輸入字節應用format1格式,a表示對每a個輸入字節應用format2格式,通常a>b,且b只能爲1,2,4,另外a能夠省略,省略則a=1。format1和format2中能夠使用相似printf的格式字符串,如:數據
還有一些特殊的用法:tab
.
代替同一行若是要顯示多個格式字符串,則能夠跟多個-e選項
hexdump -e '1/4 "0x%08_ax "' -e '1/4 "%08X " " | "' -e '4/1 "%01_p" " |\n"' sum_of_array.bin
效果
$ hexdump -e '1/4 "0x%08_ax "' -e '1/4 "%08X " " | "' -e '4/1 "%01_p" " |\n"' sum_of_array.bin 0x00000000 EAFFFFFF | .... | 0x00000004 E59F0018 | .... | 0x00000008 E59F1018 | .... | 0x0000000c E3A03000 | .0.. | 0x00000010 E4D12001 | . .. | 0x00000014 E0823003 | .0.. | 0x00000018 E1510000 | ..Q. | 0x0000001c 1AFFFFFB | .... | 0x00000020 EAFFFFFE | .... | 0x00000024 0000002F | /... | 0x00000028 0000002C | ,... | 0x0000002c 0019140A | ... |