概述
hexdump 以 8 位元組為單位讀取檔案內容,並將其轉換為十六進位格式輸出。此命令特別用於視覺化分析執行檔、圖像、音訊檔等二進位檔案的內容。即使是使用一般文字編輯器打開會顯示亂碼的內容,hexdump 也能顯示偏移量(位置)、十六進位值以及可能的 ASCII 字串,這對於理解檔案結構非常有幫助。
主要特點
hexdump 命令的主要特點如下:
- 以十六進位、八進位、十進位等多種格式輸出檔案內容。
- 適用於分析二進位檔案的內容。
- 可指定輸出格式以查看所需結果。
- 可與管道符號 (`|`) 結合使用,分析其他命令的輸出結果。
輸出格式
hexdump 的輸出通常由三部分組成。
- 偏移量 (Offset): 表示從檔案開頭到目前位置的位元組數。預設以十六進位格式輸出。
- 位元組資料: 顯示檔案內容的實際位元組值,以十六進位格式呈現。
- ASCII 字串: 將位元組資料轉換為人類可讀的 ASCII 字元。如果不是可列印字元,則顯示為點(.)。
主要選項
hexdump 命令的常用選項已按目的分組。
1) 輸出選項
2) 幫助
生成的命令:
請試著組合命令。
這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。
`hexdump` 執行命令。
請將上述選項組合在一起,與 AI 一同虛擬執行命令。
使用範例
透過 hexdump 命令的各種使用範例來學習其功能。
以標準格式輸出檔案內容
hexdump -C /bin/cat | head
最常用的格式,以標準格式輸出 `/bin/cat` 檔案的開頭部分。
從檔案的特定位置開始輸出
hexdump -C -s 0x20 -n 32 hexdump.test
從 `hexdump.test` 檔案的十六進位偏移量 `0x20` 開始,輸出 `32` 位元組的內容。
檢查特殊字元
echo 'Hello\nWorld' | hexdump -C
確認包含換行符 (`\n`) 的文字檔案內容的十六進位值。`0a` 是換行符的十六進位值。
與管道符號 (|) 結合使用
strings /bin/cat | hexdump -C
將 `strings` 命令的輸出結果透過管道傳送給 `hexdump`,分析提取字串的十六進位值。
提示與注意事項
整理了使用 hexdump 命令時的注意事項。
提示
- `hexdump` 是處理二進位檔案時非常強大的工具。透過檢查檔案的標頭或特定位元組值,可以推斷檔案類型。
- 輸出整個二進位檔案可能會導致終端機停止響應,因此建議搭配使用 `-n` 選項或 `head` 命令。
- `od` (`octal dump`) 命令與 `hexdump` 類似,預設以八進位格式輸出。