[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

3.4 od: ファイルを 8 進数などの形式で書き出す

od は、各 file (‘-’ は標準入力を意味する) の内容を、 曖昧さの余地がない形で標準出力に書き出す。file が一つも指定されていない場合は、 標準入力から読み込む。

書式:

 
od [option]… [file]…
od [-abcdfilosx]… [file] [[+]offset[.][b]]
od [option]… --traditional [file] [[+]offset[.][b] [[+]label[.][b]]]

各出力行の構成は、入力中の位置をオフセットで表したものの後に、 ファイルのデータをいくつかのまとまりに分けたものが続くという形になっている。 デフォルトでは、od はオフセットを 8 進数で表示する。 ファイル・データの個々のまとまりは、入力を C 言語の short int ごとに分けたものであり、1 個の 8 進数として表示される。

offset を指定した場合、それは、整形と出力を始める前に、 入力を何バイト読み飛ばすかを示している。デフォルトでは、offset は 8 進数と見なされるが、数字の後ろに小数点を付ければ、10 進数と見なされる。 小数点が指定されず、オフセットの数字が ‘0x’ や ‘0X’ で始まっている場合は、 16 進数として解釈される。もし、数字の後ろに ‘b’ が付いているならば、 読み飛ばすバイト数は、offset に 512 を掛けたものになる。

(訳注: 数字の後ろに小数点を付けることで offset が 10 進数であることを示す方法は、現在では無効のようである。 オフセットを 10 進数で指定したければ、‘-j’ オプションを使用した方がよい。)

コマンドが「書式」における第一の型と第二の型のどちらとも取れるときは、 最後のオペランドが ‘+’ で始まっている場合や、オペランドが 2 個で 2 番目のオペランドが数字で始まっている場合は、第二の型だと見なされる。 たとえば、‘od foo 10’ や ‘od +10’ では、‘10’ はオフセットである。 それに対して、‘od 10’ では、‘10’ はファイル名である。

このプログラムでは以下のオプションが使用できる。参照: 共通オプション.

-A radix
--address-radix=radix

ファイル・オフセットの表示に使う基数を選択する。radix には、 以下の一つが使える。

d

10 進数

o

8 進数

x

16 進数

n

なし (オフセットを表示しない)

デフォルトは 8 進数である。

--endian=order

入力のバイトオーダーを変更する。入力を別のバイトオーダーで扱うため、 あるいは、使用システムのエンディアン方式にとらわれない一貫した出力を生成するために使用する。 変換は、‘--type’ で指定されたサイズと order のエンディアンに従って行われる。 order には、‘little’ または ‘big’ が指定できる。

-j bytes
--skip-bytes=bytes

整形と出力を行う前に、入力を bytes バイト読み飛ばす。bytes が ‘0x’ や ‘0X’ で始まっている場合は、16 進数と見なされる。 ‘0’ のみで始まっている場合は、8 進数だ。どちらでもない場合は、10 進数である。 bytes は、整数であり、 以下に挙げるような何倍かを示す接尾辞を後ろに付けることもできる。接尾辞だけ指定してもよい (訳注: その場合は、1 が前にあるものと見なされる)。

 
b’  =>            512 ("blocks")
‘KB’ =>           1000 (KiloBytes)
‘K’  =>           1024 (KibiBytes)
‘MB’ =>      1000*1000 (MegaBytes)
‘M’  =>      1024*1024 (MebiBytes)
‘GB’ => 1000*1000*1000 (GigaBytes)
‘G’  => 1024*1024*1024 (GibiBytes)

T’, ‘P’, ‘E’, ‘Z’, ‘Y’ についても同様。

-N bytes
--read-bytes=bytes

入力から最大で bytes バイト出力する。bytes に接頭辞や接尾辞を付けると、 ‘-j’ オプションの場合と同じように解釈される。

-S bytes
--strings[=bytes]

通常の出力はせず、文字列定数 (string constants) のみを出力する。 すなわち、bytes バイト以上の連続する ASCII 表示文字で、ゼロバイト (ASCII NUL) が続くものを出力するわけだ。bytes に接頭辞や接尾辞を付けると、 ‘-j’ オプションの場合と同じように解釈される。

--strings’ に続く bytes が省略された場合、デフォルトは 3 である。 (訳注: 短縮形の ‘-S’ では bytes を省略できない。)

-t type
--format=type

ファイルデータの出力形式を選択する。 type は、1 個以上の下記の形式指定文字からなる文字列である。 一つの type 文字列に複数の形式指定文字が含まれている場合や、 このオプションを複数回使用した場合は、od は出力行ごとに、 指定された各データ形式で表現したその行を、指定された順番で書き出す。

どんな形式指定であれ、その最後に “z” を付けると、 形式指定によって生成された出力行の後ろに、 表示可能文字を 1 バイト文字によって表現したものが、出力される。

a

文字の名称 (訳注: たとえば、A は A、改行文字は nl)。最上位ビットは無視する。

c

表示可能な 1 バイト文字、C 言語のバックスラッシュ・エスケープ、 あるいは 3 桁の 8 進数。

d

符号付き 10 進数

f

浮動小数点数 (see section 浮動小数点数)

o

8 進数

u

符号なし 10 進数

x

16 進数

a 形式の出力では、空白文字は ‘sp’、改行文字は ‘nl’、ゼロバイトは ‘nul’ といった具合に表現される。このとき、各バイトの下位 7 ビットのみが使われ、 最上位ビットは無視される。c 形式の出力では、上記の例は、それぞれ ‘ ’、‘\n’、\0 になる。

a’ と ‘c’ 形式を除き、形式指定文字の後ろに 10 進数の整数を続けることによって、入力データの各数値を読み込んで、 指定されたデータ形式に変換して行く際に、何バイトづつ使用するかを指定することができる。 あるいは、形式指定文字の後ろに以下の文字の一つを続けることによって、 C コンパイラの組み込みデータ型のいづれかのサイズを指定することも可能だ。 すなわち、整数 (‘d’, ‘o’, ‘u’, ‘x’) に対しては、以下を後置する。

C

char

S

short

I

int

L

long

浮動小数点数 (f) に対しては、次のものが使用できる。

F

float

D

double

L

long double

-v
--output-duplicates

連続する行が同一であっても出力する。デフォルトでは、出力する行が、 二行以上連続して全く同一になりそうな場合、od は最初の行だけを出力し、 次の行にはアステリスクのみを置いて、二行目以下を省略したことを示す。

-w[n]
--width[=n]

1 出力行当たり、n バイトの入力をダンプする。 この値は、指定した各出力形式に結び付いているサイズの最小公倍数の倍数でなければならない。

このオプションが全く指定されないときのデフォルトは 16 である。 このオプションが n なしで指定されたときのデフォルトは 32 である。

以下に挙げるいくつかのオプションは、形式指定の簡易版である。GNU od では、形式指定オプションと簡易版オプションをどのように組み合わせても構わない。 こうしたオプションは、累加されていく。

-a

文字の名称で出力する。‘-t a’ と同じ。

-b

1 バイトづつ 8 進数として出力する。‘-t o1’ と同じ。

-c

表示可能な 1 バイト文字か、C 言語のバックスラッシュ・エスケープ、 あるいは 3 桁の 8 進数として出力する。‘-t c’ と同じ。

-d

2 バイトづつ符号なし 10 進数として出力する。‘-t u2’ と同じ。

-f

浮動小数点数として出力する。‘-t fF’ と同じ。

-i

10 進数の int として出力する。‘-t dI’ と同じ。

-l

10 進数の long int として出力する。‘-t dL’ と同じ。

-o

2 バイトづつ 8 進数として出力する。‘-t o2’ と同じ。

-s

2 バイトづつ 10 進数として出力する。‘-t d2’ と同じ。

-x

2 バイトづつ 16 進数として出力する。‘-t x2’ と同じ。

--traditional

昔の od で使用できた、オプションではない引数 label を認識する。 書式は次のようになる。

 
od --traditional [file] [[+]offset[.][b] [[+]label[.][b]]]

この書式を使用すると、ファイルは 1 個までしか指定できないが、必要なら、 オフセットを示す引数や、label という、開始位置の仮アドレスを示す引数を、 続けて指定することができる。引数 labeloffset と全く同じように解釈されるが、出力を開始する位置の仮アドレスを指定している。 仮アドレスは、通常のアドレスの後ろに、カッコで囲まれて、表示される。

終了ステータス 0 は成功を示し、0 以外の値は失敗を示す。


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on June 7, 2022 using texi2html 1.82.