Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Linux系統教程 >> Linux系統常見問題解答 >> hexdump使用小技巧

hexdump使用小技巧

日期:2017/1/20 17:44:49      編輯:Linux系統常見問題解答
開發時經常會需查看非文本文件內容,最常見的16進制查看器就是hexdump。hexdump 看似簡單,但還是有些小技巧的。

以文本文件tmpfile為例:

點擊(此處)折疊或打開



0000000 6148 7070 2079 654e 2077 6559 7261 0a21
*
0000030

00000000 48 61 70 70 79 20 4e 65 77 20 59 65 61 72 21 0a |Happy New Year!.|
*
00000030

0000000 6148 7070 2079 654e 2077 6559 7261 0a21
0000010 6148 7070 2079 654e 2077 6559 7261 0a21
0000020 6148 7070 2079 654e 2077 6559 7261 0a21
0000030

00000000 48 61 70 70 79 20 4e 65 77 20 59 65 61 72 21 0a |Happy New Year!.|
00000010 48 61 70 70 79 20 4e 65 77 20 59 65 61 72 21 0a |Happy New Year!.|
00000020 48 61 70 70 79 20 4e 65 77 20 59 65 61 72 21 0a |Happy New Year!.|
00000030

fireaxe $ hexdump -Cv tmp.txt -n 1
00000000 48 |H|
00000001

fireaxe $ hexdump -Cv tmp.txt -n 2
00000000 48 61 |Ha|
00000002

fireaxe $ hexdump -Cv tmp.txt -n 3
00000000 48 61 70 |Hap|
00000003 fireaxe $ hexdump -Cv tmp.txt -s 1 -n 1
00000001 61 |a|
00000002
fireaxe $ hexdump -Cv tmp.txt -s 2 -n 1
00000002 70 |p|
00000003
fireaxe $ hexdump-Cv tmp.txt -s 3 -n 1
00000003 70 |p|
00000004
    Happy New Year!Happy New Year!
    Happy New Year! 1) 最簡單的方式
    hexdump testfile
    這種方式是以兩個字節為一組,其順序取決於本機字節序。比如在x86架構上就是以blittle-endian方式顯示,看起來會很費勁。
    如第一行翻譯成ascii碼:
    6148 7070 2079 654e 2077 6559 7261 0a21
    aH pp y Ne w e ae !r

    為了避免這種情況,就要用到下面的”以字節方式查看“

    2) 以字節方式查看
    hexdump -C testfile -s skip -n number
    這種方式就不會有字節序問題了,而且還能同時顯示16進制與ascii碼,但存在的問題是,如果某幾行的內容相同,會省略掉後幾行,這個有時也會造成麻煩。如何避免省略呢?

    3) 不要省略
    hexdump -v testfile
    現在省略是沒有了,但又回到了兩字節顯示的老路上,所以我們要把兩種方式結合起來。

    4) 字節方式顯示且不要省略
    hexdump -Cv testfile
    現在就好看多了,既是以單字節方式顯示,又不會省略了。但有時文件很大,我們只想查看其中一段,怎麼把呢?

    5) 顯示某一段
    hexdump -Cv testfile -s skip -n number
    OK, 整個顯示過程都可以自由控制了~~
Copyright © Windows教程網 All Rights Reserved