hexdump


hexdump

hexdump用於以16進制、10進制、8進制、ascii碼形式打印文件內容,也可以是標准輸入的內容。

用法

hexdump [選項] 文件 ...

選項

選項 參數 說明
-b 單字節8進制格式顯示
-c 單字節字符格式顯示
-o 兩byte八進制格式顯示
-d 兩byte十進制格式顯示
-x 兩byte十六進制格式顯示
-C 標准的hex+ASCII格式顯示
-e 格式 指定格式化輸出表達式
-f 格式文件 指定格式換輸出表達式文件
-n 長度 僅顯示指定長度字節的數據
-s 偏移 跳過指定長度字節的數據
-v 顯示時不壓縮相似的行

前面六個選項其實是通過后面五個選項實現的顯示效果。

hexdump高級用法:

-e 指定格式字符串,格式字符串包含在一對單引號中,格式字符串形如

'a/b "format1" "format2"'

每個格式字符串由三部分組成,每個部分由空格分隔,第一個形如a/b,表示每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選項

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  |  ...  |


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM