本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「od」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルを8進数や16進数でダンプする「od」コマンドです。
「od」は、ファイルを8進数や16進数などでダンプする際に使用するコマンドです。「ダンプ(dump)」は記録などの中身をまとめて表示したり、記録したりするという意味で、odコマンドの場合はバイナリファイルを8進数や16進数などで表示します。
odコマンドの主なオプションは次の通りです。
短いオプション | 長いオプション | 意味 |
---|---|---|
-A 指定 | --address-radix=指定 | ファイルオフセット(出力位置)の表示形式を「o(8進数)」「x(16進数)」「d(10進数)」で指定する |
-j バイト数 | --skip-bytes=バイト数 | 先頭からスキップするバイト数を指定する(「-j100」で先頭の100バイトを飛ばして表示) |
-N バイト数 | --read-bytes=バイト数 | 表示するバイト数を指定する(「-N80」で先頭の80バイト、「-j100 -N80」で101バイト目から80バイト分を表示) |
-S バイト数 | --strings=バイト数 | 可読文字(印字可能な文字)が指定したバイト数分連続していたら、その箇所を表示する(「-S 4」で「strings」コマンド相当) |
-t タイプ | --format=タイプ | 出力フォーマットを指定する(※次表参照) |
-v | --output-duplicates | 「*」マークによる出力行の省略をやめる |
-wバイト数 | --width=バイト数 | 1行当たりの出力バイト数を指定する |
【※】「-w」を除く短いオプションで「-j100」は「-j 100」のように空白あり/なしどちらも使用可能
「出力フォーマット」は、「-t a」(文字名)や「-t o1」(整数1つ分を8進数で表示)のように指定します。「a」と「c」以外は、サイズを数値または文字で指定可能です。
タイプ | 意味(古いオプション形式) |
---|---|
a | 文字名。最上位ビットは無視される(「-a」で「-t a」相当) |
c | ASCII文字または「\」エスケープ文字(「-c」で「-t c」相当) |
d | 符号付き10進数(「-i」で「-t dI」、「-l」で「-t dL」相当) |
f | 浮動小数点(「-f」で「-t fF」相当) |
o | 8進数(「-b」で「-t o1」、「-o」で「-t o2」相当) |
u | 符号なし10進数(「-d」で「-t u2」相当) |
x | 16進数(「-x」で「-t x2」相当) |
【※】サイズは「整数(integer)幾つ分か」を数値で指定する他、「S(short)」「I(int)」「sizeoL(long)」「f(浮動小数点)」の場合は「F(float)」「D(double)」「L(long double)」が指定可能
「od ファイル名」で、指定したファイルを8進数でダンプします。
出力形式は「-t」オプションで変更できます。また、デフォルトの出力では、各行の先頭に表示位置が8進数で表示されており、表示位置の形式は「-A」オプションで変更できます。どちらも16進数にする場合は、「-Ax -tx」のように指定します。
od ファイル名
(ファイルを8進数でダンプする)(画面1)
od -Ad -tx ファイル名
(表示位置と内容をともに16進数にする)(画面2)
ダンプするのがファイルの先頭部分だけでよい場合は、「-Nバイト数」を指定します。また、先頭部分を読み飛ばしたい場合は、「-jバイト数」を指定します。
od -N80 ファイル名
(先頭から80バイト分表示する)
od -j100 -N80 ファイル名
(100バイトスキップして80バイト分表示する)(画面3)
PC-9801N/PC-386MからのDOSユーザー。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。のち退社し、専業ライターとして活動を開始。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.