hexdump—Linux系統的二進制文件查看工具

hexdump3d

無參:字符串

至關於 hexdump -x腳本

         0000000 457f 464c 0102 0001 0000 0000 0000 0000文件

         0000010 0002 003e 0001 0000 0410 0040 0000 0000字符

-b 每一字節以八進制顯示,一行共16個字節,一行開始以十六進制顯示偏移值;參數

         0000000 177 105 114 106 002 001 001 000 000 000 000 000 000 000 000 000ab

-c 每一字節以ASCII字符顯示,其他同上;格式化

         0000000 177   E   L   F 002 001 001  \0  \0  \0  \0  \0  \0  \0  \0  \0

-C 每一字節以16進制顯示,一行共16個字節,尾部附加16個相應的ASCII字符;

          00000000  7f 45 4c 46 02 01 01 00  00 00 00 00 00 00 00 00  |.ELF............|

-n 只解釋指定長度字節

         單位:默認十進制,0x或0X開頭則爲16進制,0開頭則爲8進制

         默認爲字節,b則爲512字節,k則爲1024字節,m則爲1048576字節

-d 雙字節十進制顯示

-o 雙字節八進制顯示

-v 去除中間顯示的「*」字符

-x 雙字節十六進制顯示

 

 

當以上的參數不知足要求時,那麼須要加入格式化參數:

hexdump –e ‘」%06_ax」16/1」%02X」’

解釋:

         -e 格式化參數

         %06_ax   0:用前導零而不是空格填充顯示字段寬度

                        6:顯示字段寬度最小值爲6

                        _ax:偏移量以16進製表示,輸入文件的偏移量累積計算

         16/1  格式化字符串運用16次,每次格式化字符串只運用到一個字節

         %02X     0:用前導零而不是空格填充字段寬度

                       2:顯示字段寬度最小值爲2

                      X:默認操做字節數是4,可是也能夠指定爲一、二、4,並以十六進制顯示

         \n  換行

 例:

  "%06.6_ao "  12/1 "%3_u "

   "\t\t" "%_p "

   "\n"

輸入文件偏移量累積計算;以八進制顯示文件偏移量,最小顯示寬度6,最大顯示寬度6

以%3_u字符串格式處理12次,每次處理1個字節;接着顯示\t\t,以%_p字符串格式處理一次,每次處理1個字節;接着換行。

 

echo hello | hexdump -v -e '/1 "%02X "' ; echo

-v不顯實*

-e 格式化字符串

以%02X格式串處理1次,一次處理1個字節

echo hello | hexdump -e '8/1 "%02X ""\t"" "' -e '8/1 "%c""\n"'

以%02X格式串處理8次,一次處理1個字節,添加\t,接着把處理過的文件再處按%c格式處理8次,一次處理1個字節,添加換行;

 

寫了個腳本,方便查閱ASCII字符表

#! /bin/shASCII="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"echo $ASCII | hexdump -v -e '"%02_ad "'\                                       -e '1/1 "%1c "'\                                       -e '1/1 "hex=%02X "'\                                       -e '1/1 "dec=%3d "'\                                       -e '1/1 "oct=%03o\n"'

相關文章
相關標籤/搜索