xxd — 十六進位轉儲工具
以十六進位格式顯示二進位檔案的內容,或將十六進位轉回二進位。
語法
xxd [選項] [檔案]
常用選項
| 選項 | 說明 | 範例 |
|---|---|---|
-l N |
只顯示前 N 個位元組 | xxd -l 64 file |
-s N |
從偏移 N 開始顯示 | xxd -s 0x100 file |
-c N |
每行顯示 N 個位元組(預設 16) | xxd -c 8 file |
-g N |
每 N 個位元組一組(預設 2) | xxd -g 1 file |
-r |
反向:從 hex dump 還原二進位 | xxd -r file.hex > file.bin |
-p |
只輸出純十六進位(無偏移和 ASCII) | xxd -p file |
-i |
以 C 陣列格式輸出(可直接嵌入 C 程式碼) | xxd -i file.bin |
使用範例
範例 1:查看二進位檔案的前 64 位元組
顯示偏移位址、十六進位值和 ASCII 表示。
$ xxd -l 64 /usr/bin/ls
00000000: 7f45 4c46 0201 0100 0000 0000 0000 0000 .ELF............
00000010: 0300 3e00 0100 0000 c052 4600 0000 0000 ..>......Rf.....
...
範例 2:檢查檔案的魔術位元組
查看檔案開頭幾個位元組,識別檔案格式(PNG=89 50 4E 47,JPEG=FF D8 FF)。
$ xxd -l 8 image.png
00000000: 8950 4e47 0d0a 1a0a .PNG....
範例 3:純十六進位輸出(管線處理用)
只輸出十六進位字元,方便在管線中進行比較或傳輸。
$ xxd -p /etc/hostname
6d792d7365727665720a