初心者向け Linux OD コマンド チュートリアル (6 つの例)
Linux のコマンド ラインで作業しているときに、ファイル内のコンテンツを 10 進数や 8 進数などの元の形式以外の形式で表示したり、別の形式に変換したりしたい場合があります。幸いなことに、このような状況で使用できる組み込みのコマンド ライン ツールがあります。
Linux の od (octal dump) コマンドは、8 進数、16 進数、10 進数、ASCII などのさまざまな形式でファイルの内容を表示するために使用される多目的ユーティリティです。このコマンドは、バイナリ データや印刷できない文字を含むファイルを表示するのに便利で、ユーザーは生のデータを検査およびデバッグできます。od コマンドは主に、低レベルのデータ構造を分析したり、フォレンジック分析を実行したり、ソフトウェアをデバッグしたりする必要がある開発者やシステム管理者によって使用されます。
このチュートリアルでは、わかりやすい例を使用してこのツールの基本について説明します。ここで説明するすべての例は、Ubuntu 24.04 LTS でテストされています。
Linux od コマンド
OD コマンドは入力を 8 進数形式に変換するために使用されます。構文は次のとおりです。
od [OPTION]... [FILE]...
そして、これについてマニュアルページには次のように書かれています:
Write an unambiguous representation, octal bytes by default, of FILE to standard output. With more than one FILE argument, concatenate them in the listed order to form the input. With no FILE, or when FILE is -, read standard input.
以下は、od コマンドの動作をよりよく理解するための Q&A 形式の例です。
Q1. od コマンドの使い方は?
変換したいファイルが次のとおりだとします:
od コマンドを実行すると、次のようになります。
したがって、デフォルトでは、od コマンドはファイルを 8 進形式に変換します。ただし、ツールに他の形式に変換するよう強制することもできます。たとえば、-x を使用して 16 進数に変換します。
同様に、入力を文字、浮動小数点、整数の形式で表示するオプションもあります。
Q2. od でバイトをスキップするにはどうすればよいですか?
最初のバイトの一部をスキップしたい場合は、-j コマンドライン オプションに数値を渡します。
od -j [num] [filename]
例えば:
od -j 10 file1
Q3. 1 行あたりの出力バイト数を制限するにはどうすればよいですか?
デフォルトでは、od コマンドは出力行ごとに 32 バイトを生成します。ただし、-w オプションを使用してこの数をカスタマイズできます。
od -w[num] [filename]
例えば:
od -w2 file1
Q4. od 出力を複製するにはどうすればよいですか?
変換するファイルに重複した行が含まれているとします。例:
デフォルトでは、od は重複に対して出力に * を生成します。
ただし、必要に応じて、-v コマンドライン オプションを使用してこの動作を変更できます。
od -c -w1 -v ファイル1
Q5. バイトオフセットを表示するにはどうすればいいですか?
バイト オフセットは、-A コマンドライン オプションを使用して表示できます。オフセットを表示する形式を指定する必要があります。16 進数の場合は x、8 進数の場合は o、10 進数の場合は d です。
od -A[format] [filename]
例えば:
od -Ad -c file1
Q6. od の出力を設定されたバイト数に制限するにはどうすればよいですか?
全体の出力を設定されたバイト数に制限するには、-N オプションを使用します。
od -N[num] [filename]
例えば:
od -N50 file1
したがって、全体的な出力が削減されたことがわかります。
結論
ODコマンドは、コマンドラインオプションの形で多くの機能を提供します。ここでは主要なものをいくつか説明しました。これらを練習したら、ツールの マニュアルページ さらに詳しく知るには。
Hope this help!