od コマンド
目的
ファイルを指定されたフォーマットで表示します。
構文
タイプの文字列を使用してファイルを表示し、出力をフォーマットする
od [ -v ] [ -A AddressBase ] [ -N Count ] [ -j Skip ] [ -t TypeString ... ] [ File ... ]
フラグを使用してファイルを表示し、出力をフォーマットする
od [ -a ] [ -b ] [ -c ] [ -C ] [ -d ] [ -D ] [ -e ] [ -f ] [ -F ] [ -h ] [ -H ] [ -i ] [ -I ] [ -l ] [ -L ] [ -o ] [ -O ] [ -p ] [ -P ] [ -s ] [ -v ] [ -x ] [ -X ] [ [ -S [ N ] ] [ -w [ N ] ] [ File ] [ [ + ] Offset [ . | b | B ] [ + ] Label [ . | b | B ] ] [ File ... ]
説明
od コマンドは File パラメーターで指定されたファイルを指定されたフォーマットで表示します。 File パラメーターを指定しないと、od コマンドは標準入力を読みます。 -bcCDdFfOoSstvXx の各オプションを複数使用することで、複数のタイプを指定できます。
最初の構文フォーマットの場合、出力フォーマットは -t フラグで指定します。 フォーマットのタイプを指定しない場合は、-t o2 がデフォルトとして使用されます。
2 番目の構文フォーマットの場合、出力フォーマットはフラグを組み合わせて指定します。 Offset パラメーターは、ファイル出力を開始するファイル内の位置を指定します。 デフォルトでは、Offset パラメーターは 8 進のバイトとして解釈されます。 . (ドット) 接尾部を付加した場合、パラメーターは 10 進数として解釈されます。 パラメーターの先頭が x または 0x で始まる場合は、16 進数として解釈されます。b 接尾部をパラメーターに付加した場合、512 バイトのブロックとして解釈されます。 B 接尾部をパラメーターに付加した場合、1024 バイトのブロックとして解釈されます。
Label パラメーターは最初に表示されたバイトの疑似アドレスとして解釈されます。 使用する場合は、Offset パラメーターの後に ( ) (小括弧) で囲んで指定します。 接尾部の意味は Offset パラメーターの場合と同じです。
od コマンドが標準入力を読む場合は、Offset パラメーターと Label パラメーターの前に + (プラス記号) を付けなくてはなりません。
LANG や LC_ALL などの環境変数を設定すると、od コマンドの作用に影響します。
od コマンドは、各入力ファイルを順次にコピーし、それらを標準出力に書き込み、-t フラグを使用して指定された出力のタイプに従って入力データを変換します。 入力データ内のデフォルト・バイト数は、型指定子文字 d、o、u、または x のサイズに対応します。 これらの型指定子文字により、C プログラミング言語のデータ型 char、short、int、および long のバイト数に対応する、入力データ内のバイト数 (オプション) を指定できます。 バイト数はアプリケーション (任意のプログラム、または od コマンドを使用するユース・ケース) を使用して指定することもできます。 文字 C は char データ型、文字 S は short データ型、文字 I は int データ型、文字 L は long データ型に使用します。 型指定子文字では、値 1、2、4、および 8 がサポートされています。 これは、C プログラミング言語のデータ型が入力データのサイズに指定されない場合でも同様です。 型指定子文字では、C プログラミング言語の long long データ型のような 10 進数もサポートされます。
フラグ
最初のフォーマットのフラグは以下のとおりです。
項目 | 説明 |
---|---|
-A AddressBase | 入力オフセット・ベースを指定します。AddressBase 変数には以下の文字の 1 つを指定します。
-A n が指定されている場合を除き、出力行の前には、次に書き込まれるバイトの入力オフセット (入力ファイル間で累積されます) があります。さらに、 書き込まれた最後のバイトの後のバイトのオフセットは、すべての入力データが処理された後に表示されます。 -A address_base オプションおよび [offset_string] オペランドを指定しないと、入力オフセット・ベースは 8 進数で表示されます。 |
-j Skip | 出力を表示する前に Skip 変数によって指定されたバイト数をスキップします。 複数のファイルを指定する場合、od コマンドは出力を表示する前に連結した入力ファイルの指定バイト数をスキップします。 結合された入力が、少なくともスキップ・バイトの長さがない場合は、od コマンドは診断メッセージを標準エラーに書き込み、ゼロ以外の状況で終了します。 デフォルトでは、Skip 変数の値は 10 進数として解釈されます。先頭に 0x または 0X がある場合、オフセットは 16 進数として解釈され、先頭に 0 がある場合は、オフセットは 8 進数として解釈されます。 Skip 変数の値に文字 b、k、m を付加した場合、オフセットは Skip 変数の値 (バイト) にそれぞれ 512、1024、1024*1024 を掛けた値となります。 |
-N Count | Count 変数で指定した入力バイト数までをフォーマットします。 デフォルトでは、Count 変数の値は 10 進数として解釈されます。 先頭に 0x または 0X がある場合は、16 進数として解釈されます。 先頭に 0 がある場合は、8 進数として解釈されます。 表示されるアドレスのベースは、Count オプションの引数のベースで暗黙指定されません。 |
-t TypeString | 出力タイプを指定します。TypeString 変数は、データを書き出すときに使用するタイプを指定する文字列です。
複数のタイプを同じ TypeString 変数に連結し、-t フラグを複数回指定できます。出力行はタイプ指定文字を指定した順序で、指定された各タイプに対して書き込まれます。
TypeString 変数は以下の文字で構成することができます。
|
|
|
|
|
|
|
-v | すべての入力データを書き出します。 デフォルトでは、直前の出力行と同じ出力行は出力されず、* (アスタリスク) 1 つだけを含む行に置き換えられます。 -v フラグを指定すると、すべての行が出力されます。 |
2 番目のフォーマットのフラグは以下のとおりです。
項目 | 説明 |
---|---|
-a | バイトを文字として、その ASCII 名とともに表示します。 -p フラグも指定すると、偶数パリティーを持つバイトが下線付きで表示されます。 -P フラグを指定すると、奇数パリティーを持つバイトが下線付きで表示されます。それ以外の場合、パリティーは無視されます。 |
-b | バイトを 8 進数として表示します。 |
-c | バイトを ASCII 文字として表示します。 以下の非グラフィック文字は C 言語エスケープ・シーケンスとして表示されます。
その他の文字は 3 桁の 8 進数として表示されます。 |
-C | 拡張文字を標準印字可能な ASCII 文字として表示し (適切な文字によるエスケープ文字列使用)、マルチバイト文字を 16 進フォーマットで表示します。 |
-d | 16 ビットのワードを符号なし 10 進数値として表示します。 |
-D | long ワードを符号なし 10 進数値として表示します。 |
-e | long ワードを倍精度の浮動小数点として表示します (-F フラグと同じ)。 |
-f | long ワードを浮動小数点として表示します。 |
-F | long ワードを倍精度の浮動小数点として表示します (-e フラグと同じ)。 |
-h | 16 ビットのワードを符号なし 16 進数値として表示します。 |
-H | long ワードを符号なし 16 進数値として表示します。 |
-i | 16 ビットのワードを符号付き 10 進数として表示します。 |
-I | (i の大文字) long ワードを符号付き 10 進数として表示します。 |
-l | (L の小文字) long ワードを符号付き 10 進数として表示します。 |
-L | long ワードを符号付き 10 進数として表示します。 |
-o | 16 ビットのワードを符号なし 8 進数として表示します。 |
-O | long ワードを符号なし 8 進数値として表示します。 |
-p | -a 変換時の偶数パリティーを示します。 |
-P | -a 変換時の奇数パリティーを示します。 |
-s | 16 ビットのワードを符号付き 10 進数として表示します。 |
-S[N] | null バイトで終わる文字列を検索します。 N 変数は認識される最小の長さの文字列を指定します。 N 変数を省略すると、最小の長さは 3 文字となります。 |
-v | すべての入力データを書き出します。 デフォルトでは、直前の出力行と同じ出力行は出力されず、* (アスタリスク) 1 つだけを含む行に置き換えられます。 -v フラグを指定すると、すべての行が出力されます。 |
-w [N] | 解釈して各出力行に表示する入力バイト数を指定します。 -w フラグを指定しないと、表示行ごとに 16 バイトが読み取られます。 -w フラグを N 変数なしで指定すると、表示行ごとに 32 バイトが読み取られます。最大入力値は 4096 バイトです。4096 バイトよりも大きい入力値は最大値に再割り当てされます。 |
-x | 16 ビットのワードを 16 進数として表示します。 |
-X | long ワードを符号なし 16 進数値として表示します。 (-H フラグと同じ) |
注: フラグの -I (i の大文字)、-l (L の小文字)、-L は同一です。
終了状況
このコマンドは以下の終了値を返します。
項目 | 説明 |
---|---|
0 | すべての入力ファイルが正常に処理されました。 |
>0 | エラーが発生しました。 |
例
- ファイルを 8 進数で一度に 1 ページずつ表示するには、以下のように入力します。
このコマンドは a.out ファイルを 8 進数フォーマットで表示し、pg コマンドを介して出力を送ります。od a.out | pg
- ファイルを一度に複数のフォーマットに変換するには、以下のように入力します。
- ファイルの途中から表示を開始するには (最初の構文フォーマットを使用)、以下のように入力します。
- ファイルの途中から表示を開始するには (2 番目の構文フォーマットを使用)、以下のように入力します。
ファイル
項目 | 説明 |
---|---|
/usr/bin/od | od コマンドが入っています。 |