hd(1) FreeBSD 一般コマンドマニュアル

hd

前のページ 上に戻る 次のページ

hd


             [-s skip] file ...
     hd [-bcdovx] [-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 進数で表示し、
                 次に、入力の1バイトずつを、空白詰めした 3 桁の ASCII 文字
                 で、1 行あたり 16 個、空白で区切って表示します。

     -C          標準的な hex+ASCII 表示。入力オフセットを 16 進数で表示し、引
                 続いて 16 バイトを 16 進数 2 桁で空白で区切って表示し、引き続
                 いて同じ 16 バイトを %_p フォーマットで ``|'' 文字で括って表
                 示します。

                 コマンド hd を実行すると、このオプションで hexdump 実行したこ
                 とを意味します。

     -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 進数として解釈されます。 b, k, moffset
                 の後ろにつけると、それぞれ 512, 1024, 1048576 倍と解釈されま
                 す。

     フォーマット文字列は、任意の数のフォーマット単位を空白で区切って並べたも
     のです。フォーマット単位は最大 3 個までの要素すなわち繰り返し回数・バイト
     数・フォーマットによって構成されます。

     繰り返し回数は正の整数で、省略時の値は 1 です。それぞれのフォーマットはこ
     の繰り返し回数だけ適用されます。

     バイト数も正の整数で、省略することもできます。指定された場合には繰り返し
     1 回あたりに処理されるバイト数を示します。

     繰り返し回数とバイト数はスラッシュ (/) で区切ります。どちらか一方だけ指定
     する時も、繰り返し回数の場合は直後、バイト数の場合は直前にスラッシュを付
     け、曖昧にならないようにします。スラッシュの前後にある空白は無視されま
     す。

     フォーマットは必須であり、ダブルクォート (" ") で囲みます。フォーマットは
     fprintf 形式のフォーマット文字列 ( fprintf(3) を参照) ですが、以下の例外
     があります。

           o   フィールドの幅あるいは精度としてアスタリスク (*) を使用すること
               はできません。

           o   ``s'' 変換文字にはバイト数または精度を指定しなければなりません
               (精度が指定されなかった場合は文字列全体を表示するという
               fprintf(3) のデフォルトとは異なります)。

           o   変換文字 ``h'', ``l'', ``n'', ``p'' , ``q'' はサポートされてい
               ません。

           o   C の標準規格の中で記述されている以下の 1 文字エスケープシーケン
               スをサポートしています。

                     NUL                  \0
                     <alert character>    \a
                     <backspace>          \b
                     <form-feed>          \f
                     <newline>            \n
                     <carriage return>    \r
                     <tab>                \t
                     <vertical tab>       \v

     hexdump はさらに以下の変換文字をサポートします。

     _a[dox]     次に表示されるバイトのオフセット (複数の入力ファイルを通算し
                 ての値) を表示します。文字 d, o, x を付加すると、表示をそれぞ
                 れ 10 進、8 進、16 進形式にします。

     _A[dox]     _a 変換文字とほぼ同じですが、すべての入力が処理された後で一度
                 だけ実行されるという点が異なります。

     _c          デフォルトの文字セット中における文字を表示します。表示不能な
                 文字は 0 詰めして 3 桁にした 8 進数で表示します。ただし標準の
                 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 バイトも使用で
                                   きます。

     各フォーマット文字列によって処理されるデータの量は、各フォーマット単位が
     必要とするデータ量の合計であり、これはバイト数の繰り返し回数倍、あるいは
     バイト数が指定されていない場合にはフォーマットの必要とするバイト数の繰り
     返し回数倍になります。

     入力は ``ブロック'' ごとに処理されます。ブロックとは、フォーマット文字列
     によって指定されるデータの塊のうちで最も大きいものです。 1 ブロック分のデ
     ータを処理し切らないフォーマット文字列で、その中の最後のフォーマット単位
     が何バイトかを処理し、かつ繰り返し回数が指定されていないものは、ブロック
     全体が処理され切るか、フォーマット文字列に合致するデータがブロック中にな
     くなるまで繰り返し回数を増やされます。

     ユーザの指定または hexdump が上記のように繰り返し回数を変更した結果、繰り
     返し回数が 1 より大きくなった場合、最後の繰り返しにおける末尾の空白は出力
     されません。

     バイト数を複数の変換文字と共に指定すると、1 つを除いた全ての変換文字が _a
     または _A である時以外、エラーになります。

     入力がフォーマット文字列の一部分しか満たしていない状態で -n オプションで
     指定したバイト数あるいはEOFに到達した場合、有効なデータをすべて表示できる
     よう、入力ブロックには適当な数の 0 が補われます。(すなわち、データの終端
     にまたがっているフォーマット単位は何バイトかの 0 を表示します。)

     そのようなフォーマット文字列によるさらなる出力は、等数の空白で置き換えら
     れます。等数の空白とは、もとの変換文字あるいは変換文字列とフィールド幅と
     精度は同じで ``+'', `` '', ``#'' を取り除いた s 変換文字が、NULL 文字列を
     指した場合に出力される数の空白です。

     フォーマット文字列が指定されない場合、デフォルトの表示形式は -x オプショ
     ンが指定された場合のものと同じになります。


診断

     ユーティリティ hexdump は、成功すると 0 で、エラーがあった場合は >0 で終
     了します。


使用例

     入力を perusal 形式で表示する:

ABELNET VPSサービス