名 前
hexdump — ASCII, 10
進 , 16 進 , 8 進 で ダ
ン プ す る 書 式
hexdump [−bcCdovx]
[−e format_string]
[−f format_file]
[−n length]
[−s skip] file ...
説 明
hexdump ユ ー テ ィ リ
テ ィ は 、 指 定
し た フ ァ イ ル
を ユ ー ザ ー が
指 定 し た フ ォ
ー マ ッ ト で 表
示 す る フ ィ ル
タ で あ る 。 フ
ァ イ ル が 指 定
さ れ て い な い
場 合 は 、 標 準
入 力 を 読 み 込
ん で フ ォ ー マ
ッ ト す る 。 オ
プ シ ョ ン と し
て は 以 下 の も
の が あ る :
−b
1 バ イ ト 単 位 の 8 進 数 表 示 。 入 力 オ フ セ ッ ト を 16 進 数 で 表 示 し 、 そ の 後 に 、 入 力 デ ー タ 1 バ イ ト ず つ を 0 で 字 詰 め し た 3 桁 の 8 進 数 で 表 現 し 、 そ れ を 1 行 当 た り 16 個 、 空 白 で 区 切 っ て 表 示 す る 。
−c
1 バ イ ト 単 位 の キ ャ ラ ク タ 表 示 。 入 力 オ フ セ ッ ト を 16 進 数 で 表 示 し 、 そ の 後 に 、 入 力 デ ー タ の キ ャ ラ ク タ を 空 白 で 字 詰 め し た 3 桁 (の ASCII 文 字 ) で 表 現 し 、 そ れ を 1 行 当 た り 16 個 、 空 白 で 区 切 っ て 表 示 す る 。
−C 標 準 的 な 16進 数 + ASCII で の 表 示 。 入 力 オ フ セ ッ ト を 16 進 数 で 表 示 し 、 そ の 後 に 、 入 力 デ ー タ の キ ャ ラ ク タ を 2 桁 の 16 進 数 で 表 現 し 、 そ れ を 1 行 当 た り 16 個 、 空 白 で 区 切 っ て 表 示 す る 。 そ の 後 に 、 ’’|’’ で 囲 ま れ た 中 に 同 じ 16 バ イ ト を %_p フ ォ ー マ ッ ト で 表 示 す る 。
−d
2 バ イ ト 単 位 の 10 進 数 表 示 。 入 力 オ フ セ ッ ト を 16 進 数 で 表 示 し 、 そ の 後 に 、 入 力 デ ー タ 2 バ イ ト 単 位 を 0 で 字 詰 め し た 5 桁 の 符 号 な し 10 進 数 で 表 現 し 、 そ れ を 1 行 当 た り 8 個 、 空 白 で 区 切 っ て 表 示 す る 。
−e format_string デ ー タ を 表 示 す る た め に 使 わ れ る フ ォ ー マ ッ ト 文 字 列 を 指 定 す る 。
−f format_file
1 個 以 上 の フ ォ ー マ ッ ト 文 字 列 (改 行 で 区 切 る ) の 書 か れ た フ ァ イ ル を 指 定 す る 。 空 行 、 ま た は 空 白 を 除 い た 最 初 の 文 字 が ハ ッ シ ュ マ ー ク (#) で あ る 行 は 無 視 さ れ る 。
−n length 入 力 の length バ イ ト 分 だ け を 処 理 す る 。
−o
2 バ イ ト 単 位 の 8 進 数 表 示 。 入 力 オ フ セ ッ ト を 16 進 数 で 表 示 し 、 そ の 後 に 、 入 力 2 バ イ ト 単 位 を 0 で 字 詰 め し た 6 桁 の 8 進 数 で 表 現 し 、 そ れ を 1 行 当 た り 8 個 、 空 白 で 区 切 っ て 表 示 す る 。
−s offset 入 力 の 先 頭 か ら offset バ イ ト を 読 み 飛 ば す 。 デ フ ォ ル ト で は offset は 10 進 数 と し て 解 釈 さ れ る 。 先 頭 に 0x ま た は 0X を 付 け た 場 合 、 offset は 16 進 数 と し て 解 釈 さ れ る 。 先 頭 に 0 を 付 け た 場 合 、 offset は 8 進 数 と し て 解 釈 さ れ る 。 offset の 後 ろ に b, k, m を 付 け た 場 合 、 そ れ ぞ れ 512, 1024, 1048576 倍 で あ る と 解 釈 さ れ る よ う に な る 。
−v
−v オ プ シ ョ ン を 指 定 す る と 、 hexdump に 対 し て 全 て の 入 力 デ ー タ を 表 示 さ せ る 。 −v オ プ シ ョ ン を 指 定 し な い 場 合 、 直 前 の 出 力 行 と 同 じ 内 容 の 行 (た だ し 、 入 力 オ フ セ ッ ト は 除 く ) は 、 何 行 で あ っ て も 、 1 個 の ア ス タ リ ス ク が 書 か れ た 行 で 置 き 換 え ら れ る 。
−x
2 バ イ ト 単 位 の 16 進 数 表 示 。 入 力 オ フ セ ッ ト が 16 進 数 で 表 示 し 、 そ の 後 に 、 入 力 2 バ イ ト 単 位 を 0 で 字 詰 め し た 4 桁 の 16 進 数 で 表 現 し 、 そ れ を 1 行 当 た り 8 個 、 空 白 で 区 切 っ て 表 示 す る 。 各 入 力 フ ァ イ ル に 対 し て 、 hexdump は 、 入 力 フ ァ イ ル が 指 定 さ れ た 順 番 で 、 −e や −f オ プ シ ョ ン で 指 定 さ れ た フ ォ ー マ ッ ト 文 字 列 に 基 づ い て 変 換 し な が ら 続 け て 標 準 出 力 に 書 き 出 し て い く 。 フ ォ ー マ ッ ト フ ォ ー マ ッ ト 文 字 列 は 、 空 白 で 区 切 ら れ た 任 意 の 個 数 の フ ォ ー マ ッ ト 単 位 を 含 ん で い る 。 フ ォ ー マ ッ ト 単 位 は 最 大 3 個 の 要 素 、 つ ま り 、 繰 り 返 し 回 数 ・ バ イ ト 数 ・ フ ォ ー マ ッ ト を 含 ん で い る 。 繰 り 返 し 回 数 は 、 オ プ シ ョ ン と し て 指 定 さ れ る 正 の 整 数 で あ る 。 デ フ ォ ル ト は 1 で あ る 。 各 フ ォ ー マ ッ ト は 繰 り 返 し 回 数 だ け 適 用 さ れ る 。 バ イ ト 数 は 、 オ プ シ ョ ン と し て 指 定 さ れ る 正 の 整 数 で あ る 。 こ れ が 指 定 さ れ た 場 合 、 1 つ の フ ォ ー マ ッ ト で 処 理 さ れ る バ イ ト 数 を 示 す 。 繰 り 返 し 回 数 と バ イ ト 数 (の 両 方 、 も し く は ど ち ら か 一 方 ) が 指 定 さ れ た 場 合 、 ど ち ら の 数 字 か を 区 別 す る た め に 、 繰 り 返 し 回 数 の 後 と バ イ ト 数 の 前 に ス ラ ッ シ ュ を 1 個 置 か な け れ ば な ら な い 。 ス ラ ッ シ ュ の 前 後 の 空 白 は 無 視 さ れ る 。 フ ォ ー マ ッ ト は 必 須 で 、 ダ ブ ル ク ォ ー ト マ ー ク (" ") で 囲 ま な け れ ば な ら な い 。 こ の フ ォ ー マ ッ ト は 、 fprintf 形 式 の フ ォ ー マ ッ ト 文 字 列 (fprintf(3) を 参 照 ) と し て 解 釈 さ れ る が 、 以 下 の よ う な 例 外 が あ る :
• フ ィ ー ル ド の 幅 や 精 度 と し て ア ス タ リ ス ク (*) を 使 え な い 。
• 個 々 の 変 換 文 字 ’’s’’ に つ い て 、 バ イ ト 数 や フ ィ ー ル ド 精 度 が 必 須 で あ る (精 度 が 指 定 さ れ て い な い 場 合 に 全 て の 文 字 列 を 表 示 す る fprintf(3) の デ フ ォ ル ト と は 異 な る )。
• 変 換 文 字 ’’h’’, ’’l’’, ’’n’’, ’’p’’, ’’q’’ が サ ポ ー ト さ れ て い な い 。
•
C 言 語 の 標 準 規 格 で 記 述 さ れ て い る 1 文 字 の エ ス ケ ー プ シ ー ケ ン ス が サ ポ ー ト さ れ て い る :
NUL \0
<ア ラ ー ト 文 字
> \a
<バ ッ ク ス ペ ー
ス > \b
<フ ォ ー ム フ ィ
ー ド > \f
<改 行 > \n
<復 帰 > \r
<タ ブ > \t
<垂 直 タ ブ > \v
hexdump は 、 他 に も 以 下 の 変 換 文 字 列 を サ ポ ー ト す る :
_a[dox] 次 に 表 示 さ れ る バ イ ト の オ フ セ ッ ト (複 数 の 入 力 フ ァ イ ル で 通 算 し た 値 ) を 表 示 す る 。 文 字 d, o, x を 後 ろ に 付 加 す る と 、 表 示 の 際 の 基 数 が そ れ ぞ れ 10, 8, 16 進 数 に 指 定 さ れ る 。
_A[dox] 変 換 文 字 列 _a と ほ ぼ 同 じ 。 た だ し 、 こ の 変 換 は 全 て の 入 力 デ ー タ が 処 理 さ れ た 後 で 1 回 だ け 実 行 さ れ る 。
_c デ フ ォ ル ト 文 字 セ ッ ト の 文 字 で 出 力 す る 。 表 示 不 能 な 文 字 は 、 0 で 字 詰 め し た 3 桁 の 8 進 数 で 表 示 さ れ る 。 た だ し 、 標 準 エ ス ケ ー プ 表 記 で 表 現 さ れ る 文 字 (上 記 を 参 照 ) は 、 そ の 2 文 字 の 文 字 列 で 表 示 さ れ る 。
_p デ フ ォ ル ト 文 字 セ ッ ト の 文 字 で 出 力 す る 。 表 示 不 能 な 文 字 は 、 1 個 の ’’.’’ と し て 表 示 さ れ る 。
_u
US ASCII 文 字 で 出 力 す る 。 た だ し 、 制 御 文 字 は 以 下 の よ う な 小 文 字 の 名 前 を 使 っ て 表 示 さ れ る 。 16 進 数 で 0xff よ り 大 き い 文 字 は 、 16 進 数 の 文 字 列 と し て 表 示 さ れ る 。
000 nul
001 soh 002 stx 003 etx 004 eot
005 enq
006 ack 007 bel 008 bs 009 ht
00A lf 00B vt
00C ff 00D cr 00E so 00F si 010 dle
011 dc1
012 dc2 013 dc3 014 dc4 015 nak
016 syn 017 etb
018 can 019 em 01A sub 01B esc
01C fs 01D gs
01E rs 01F us 0FF del 変 換
文 字 列 で 使 わ
れ る デ フ ォ ル
ト の バ イ ト 数
と サ ポ ー ト さ
れ る バ イ ト 数
は 、 以 下 の 通
り で あ る 。
%_c, %_p, %_u, %c
1 バ イ ト の み 。
%d, %i, %o, %u, %X, %x
4 バ イ ト が デ フ ォ ル ト 。 1, 2, 4 バ イ ト が サ ポ ー ト さ れ て い る 。
%E, %e, %f, %G, %g
8 バ イ ト が デ フ ォ ル ト 。 4 バ イ ト が サ ポ ー ト さ れ て い る 。 各 フ ォ ー マ ッ ト 文 字 列 に よ っ て 処 理 さ れ る デ ー タ の 量 は 、 各 フ ォ ー マ ッ ト 単 位 で 必 要 と さ れ る デ ー タ の 合 計 で あ る 。 こ の 合 計 は (繰 り 返 し 回 数 )×(バ イ ト 数 ) で あ る 。 ま た 、 バ イ ト 数 が 指 定 さ れ て い な い 場 合 は 、 (繰 り 返 し 回 数 )×(フ ォ ー マ ッ ト が 必 要 と し て い る バ イ ト 数 ) で あ る 。 入 力 は 「 ブ ロ ッ ク 」 ご と に 操 作 さ れ る 。 ブ ロ ッ ク は 、 フ ォ ー マ ッ ト 文 字 列 で 指 定 さ れ る デ ー タ の 塊 の う ち で 最 大 の も の 、 と 定 義 さ れ る 。 入 力 ブ ロ ッ ク の デ ー タ よ り 少 な い バ イ ト 数 し か 処 理 し て い な い フ ォ ー マ ッ ト 文 字 列 で 、 そ の 中 の 最 後 の フ ォ ー マ ッ ト 単 位 で 数 バ イ ト を 処 理 し 、 か つ 繰 り 返 し 回 数 が 指 定 さ れ て い な い 場 合 、 入 力 ブ ロ ッ ク 全 体 が 処 理 さ れ る か 、 フ ォ ー マ ッ ト 文 字 列 に 合 致 す る デ ー タ が ブ ロ ッ ク に な く な る ま で 、 繰 り 返 し 回 数 を 増 加 さ せ る 。 ユ ー ザ ー の 指 定 、 ま た は hexdump が 上 で 説 明 し た よ う に 繰 り 返 し 回 数 を 変 更 し た 結 果 、 繰 り 返 し 回 数 が 2 回 以 上 に な っ た 場 合 、 最 後 の 繰 り 返 し に お け る 末 尾 の 空 白 は 出 力 さ れ な い 。 バ イ ト 数 を 複 数 の 変 換 文 字 と 共 に 指 定 す る と 、 1 つ を 除 い た 全 て の 変 換 文 字 が _a ま た は _A で あ る 場 合 以 外 は 、 エ ラ ー に な る 。
−n オ プ シ ョ ン で 指 定 し た バ イ ト 数 分 、 ま た は フ ァ イ ル 終 端 に 達 し た と き に 、 入 力 デ ー タ が フ ォ ー マ ッ ト 文 字 列 の 一 部 分 に し か 満 た さ な い 場 合 、 有 効 な デ ー タ を 全 て 表 示 す る た め に 、 入 力 ブ ロ ッ ク に は 適 切 な 数 の 0 が 補 わ れ る (す な わ ち 、 デ ー タ の 終 端 に ま た が っ て い る フ ォ ー マ ッ ト 単 位 は 、 何 個 か の 0 の バ イ ト を 表 示 す る )。 こ の よ う な フ ォ ー マ ッ ト 文 字 列 に よ る さ ら な る 出 力 は 、 等 数 の 空 白 で 置 き 換 え ら れ る 。 等 数 の 空 白 と は 、 元 々 の 変 換 文 字 と フ ィ ー ル ド 幅 と 精 度 は 同 じ で 、 変 換 フ ラ グ 文 字 ’’+’’, ’’ ’’, ’’#’’ を 取 り 除 い た s 変 換 文 字 が NULL 文 字 列 を 参 照 し た 場 合 に 出 力 さ れ る 数 の 空 白 で あ る 。 フ ォ ー マ ッ ト 文 字 列 が 指 定 さ れ な い 場 合 、 デ フ ォ ル ト の 表 示 は −x オ プ シ ョ ン を 指 定 し た 場 合 と 同 じ で あ る 。
hexdump は 成 功 す る と 0 を 返 し て 終 了 す る 。 エ ラ ー が 起 こ っ た 場 合 は 、 1 以 上 を 返 し て 終 了 す る 。 例 入 力 を perusal (詳 し く 閲 覧 す る ) フ ォ ー マ ッ ト で 表 示 す る :
"%06.6_ao
" 12/1 "%3_u "
"\t\t" "%_p "
"\n"
−x オ プ シ ョ ン を 実 装 す る :
"%07.7_Ax\n"
"%07.7_ax " 8/2 "%04x " "\n"
準 拠
hexdump ユ ー テ ィ リ テ ィ は IEEE Std 1003.2 (’’POSIX.2’’) に 適 合 し て い る は ず で あ る 。 翻 訳 者 謝 辞 こ の man ペ ー ジ の 翻 訳 に あ た り 、 FreeBSD jpman project <http://www.jp.freebsd.org/man-jp/> に よ る 翻 訳 を 参 考 に さ せ て い た だ い た 。