紅聯Linux門戶
Linux幫助

細說Linux中怎么用hexdump命令

發布時間:2018-03-25 09:48:16來源:紅聯作者:Ronny
摘要: hexdump
描述:
hexdump命令一般用來查看"二進制"文件的十六進制編碼,從手冊上查看,其查看的內容還要很多,諸如:ascii, decimal, hexadecimal, octal
參數:
hexdump [-bcCdovx] [-e format_string] [-f format_file] [-n length] [-s skip] file
示例:
新增一個文本文件,在test 文本中添加如下內容:
[[email protected] test]# cat test abcde ABCDE
1)最簡單的查看
[[email protected] test]# hexdump test 0000000 6261 6463 0a65 4241 4443 0a45 000000c
第一列:表示文件文件偏移量
第二列:已兩個字節為一組的十六進制
通過上面的輸出,翻譯成文本為:badc0aeBADC0aE(注意:在Linux中換行符\n 的十六進制為0a,在windows中,換行為\r\n的十六進制編碼為:0d 0a),另:下圖為ASC碼表對應的進制編碼

細心的讀者可能已經發現了,為什么翻譯成文本成倒序了呢?文本中的內容不是:abcde
ABCDE 嗎?
其實這是X86的CPU架構所致,又進行了一番研究:字節序
字節序:其實就是字節的順序,這里是針對大于兩個字節來說,一個字節就沒有排序而言了,然而,在大部分的工作中,我們都很少直接和字節序打交道。
字節序分類兩類:Big-Endian 和Little-Endian
相關定義如下:
i) Little-Endian就是低位字節排放在內存的低地址端,高位字節排放在內存的高地址端。(X86 CPU系列采用的位序)
ii) Big-Endian就是高位字節排放在內存的低地址端,低位字節排放在內存的高地址端。
iii) 網絡字節序:TCP/IP各層協議將字節序定義為Big-Endian,因此TCP/IP協議中使用的字節序通常稱之為網絡字節序。
下面的這個程序是用來判斷CPU采用的是哪種模式?
#includeint main(){ union w { int a; char b; } c; c.a = 1; if (c.b==1){ printf("The CPU is Litle-Endian\n"); }else{ printf("The CPU is Big-Endian\n"); } return 0; } /* end checkCPU*/ gcc -o checkCPU.o checkCPU.c [[email protected] test]# ./checkCPU.o The CPU is Litle-Endian
本人本地虛擬機的是X86的小端模式的
至此上面使用hexdump為什么是順序是倒著的原因了
有沒有更加較便于方便的查看方式了?有,這也是較常用的方式,見下面的b)介紹;
b)以16進制和相應的ASCII字符顯示文件里的字符
[[email protected] test]# hexdump -C test #常用 00000000 61 62 63 64 65 0a 41 42 43 44 45 0a |abcde.ABCDE.| 0000000c
這里既能顯示16進制也能顯示ascii碼
c)以偏移量格式輸出,參數 -s
[[email protected] test]# hexdump -C test 00000000 61 62 63 64 65 0a 41 42 43 44 45 0a |abcde.ABCDE.| 0000000c [[email protected] test]# hexdump -C -s 6 test 00000006 41 42 43 44 45 0a |ABCDE.| 0000000c
第一行的abcde換行 的字符都沒有了
其他hexdump還有很多的用法,具體可以參看man hexdump
原文來自:https://www.linuxprobe.com/linux-hexdump.html
免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好,開源站點:https://www.linuxprobe.com/
文章評論

共有 1 條評論

  1. Ronny 于 2018-03-25 09:48:21發表:

    細說Linux中怎么用hexdump命令

贵州体彩11选5查询号码 微信股票群 炒股培训 大地棋牌最新版本下载 篮球视频教学 山西掌上麻将下载官方 皇帝棋牌游戏官网 3d数字对应码 中超联赛积分排行榜 广东麻将技巧十句口 30选5开奖历史数据走势图