【Linux】一步一步学Linux——hexdump命令(267)
生活随笔
收集整理的這篇文章主要介紹了
【Linux】一步一步学Linux——hexdump命令(267)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
00. 目錄
文章目錄
- 00. 目錄
- 01. 命令概述
- 02. 命令格式
- 03. 常用選項
- 04. 參考示例
- 05. 附錄
01. 命令概述
hexdump命令一般用來查看文件的十六進制編碼,但實際上它能查看任何文件,而不只限于二進制文件。
02. 命令格式
hexdump [選項] 文件 ...03. 常用選項
-b 單字節八進制顯示-c 單字節字符顯示-C 規范化 十六進制+ASCII 顯示-d 兩字節十進制顯示-o 兩字節八進制顯示-x 兩字節十六進制顯示-e 格式 用于顯示數據的格式字符串-f 格式文件 包含格式字符串的文件-n 長度 只解釋輸入的指定長度個字節-s 偏移 跳過開頭指定長度個字節-v 顯示時不壓縮相似的行-V 顯示此幫助并退出每個格式字符串由三部分組成,每個由空格分隔,第一個形如a/b,b表示對每b個輸入字節應用format1格式,a表示對每a個輸入字節應用format2格式,一般a>b,且b只能為1,2,4,另外a可以省略,省略則a=1。format1和format2中可以使用類似printf的格式字符串,如:
%02d:兩位十進制 %03x:三位十六進制 %02o:兩位八進制 %c:單個字符等還有一些特殊的用法:
%_ad:標記下一個輸出字節的序號,用十進制表示。 %_ax:標記下一個輸出字節的序號,用十六進制表示。 %_ao:標記下一個輸出字節的序號,用八進制表示。 %_p:對不能以常規字符顯示的用 . 代替。同一行如果要顯示多個格式字符串,則可以跟多個-e選項。
04. 參考示例
4.1 以十六進制顯示文件
[deng@localhost tmp]$ hexdump tmp 0000000 6568 6c6c 206f 6f77 6c72 0a64 000000c [deng@localhost tmp]$4.2 -C 輸出十六進制和對應字符
[deng@localhost tmp]$ hexdump -C tmp 00000000 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a |hello world.| 0000000c [deng@localhost tmp]$4.3 顯示時不壓縮相似的行
[deng@localhost tmp]$ hexdump -v tmp 0000000 6568 6c6c 206f 6f77 6c72 0a64 6568 6c6c 0000010 206f 6f77 6c72 0a64 6568 6c6c 206f 6f77 0000020 6c72 0a64 6568 6c6c 206f 6f77 6c72 0a64 0000030 [deng@localhost tmp]$4.4 顯示時不壓縮相似的行和字符
[deng@localhost tmp]$ hexdump -Cv tmp 00000000 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a 68 65 6c 6c |hello world.hell| 00000010 6f 20 77 6f 72 6c 64 0a 68 65 6c 6c 6f 20 77 6f |o world.hello wo| 00000020 72 6c 64 0a 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a |rld.hello world.| 00000030 [deng@localhost tmp]$4.5 只輸出給定字節
[deng@localhost tmp]$ hexdump -Cv tmp -n 4 00000000 68 65 6c 6c |hell| 00000004 [deng@localhost tmp]$ hexdump -Cv tmp -n 2 00000000 68 65 |he| 00000002 [deng@localhost tmp]$ hexdump -Cv tmp -n 1 00000000 68 |h| 00000001 [deng@localhost tmp]$4.6 從指定偏移量開始輸出
[deng@localhost tmp]$ hexdump -Cv tmp -s 1 -n 4 00000001 65 6c 6c 6f |ello| 00000005 [deng@localhost tmp]$ hexdump -Cv tmp -s 2 -n 4 00000002 6c 6c 6f 20 |llo | 00000006 [deng@localhost tmp]$ hexdump -Cv tmp -s 3 -n 4 00000003 6c 6f 20 77 |lo w| 00000007 [deng@localhost tmp]$4.7 格式化輸出
[deng@localhost tmp]$ hexdump -v -e '/1 "%02X"' tmp;echo 68656C6C6F20776F726C640A[deng@localhost tmp]$ echo hello | hexdump -e '8/1 "%02X ""\t"" "' -e '8/1 "%c""\n"' 68 65 6C 6C 6F 0A hello[deng@localhost tmp]$ echo hello | hexdump -v -e '"x" 1/1 "%02X" " "' ; echo x68 x65 x6C x6C x6F x0A [deng@localhost tmp]$ echo hello | hexdump -v -e '/1 "%02X\n"' 68 65 6C 6C 6F 0A [deng@localhost tmp]$ echo hello | hexdump -v -e '/1 "%_ad# "' -e '/1 " _%_u\_\n"' 0# _h_ 1# _e_ 2# _l_ 3# _l_ 4# _o_ 5# _lf_ [deng@localhost tmp]$05. 附錄
參考:【Linux】一步一步學Linux系列教程匯總
總結
以上是生活随笔為你收集整理的【Linux】一步一步学Linux——hexdump命令(267)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Linux】一步一步学Linux——o
- 下一篇: linux 其他常用命令