OUT ファイル形式とは?
拡張子 .out を持つファイルには、プログラムによって生成された出力データが含まれています。.out ファイルはアプリケーションの実行時に生成され、通常はテキスト形式で情報を保存します。このようなファイルは、アプリケーション実行時の結果やイベントを記録する ログファイル の一種と見なすことができます。.out ファイルは、システムプロセスの分析やその完了を確認するためにも使用されます。
.out ファイルは何のために必要ですか?
出力ファイルは、システム機能やデバイスの分析・テストに使用されるプログラムによって一般的に生成されます。作成された .out ファイルは、テストされたコンポーネントのパフォーマンスやシステム構成を分析するために使用できます。
.out ファイルは、Unix系システムにおいて第2の役割も果たします。C/C++コンパイラ(GCC、Clang)は、デフォルトでコンパイル結果を a.out に書き込むため、.out は Linux の実行ファイルの拡張子でもあります。このようなファイルは ELFバイナリ であり、オフセット0にあるマジックバイト 7F 45 4C 46 によって識別され、ターミナルで ./a.out と入力することで実行されます。.out ファイルがプレーンテキストかコンパイル済みプログラムかを確認するには、file コマンドを使用してください。
セキュリティと安全性
リスク: MEDIUMテキスト形式の .out は無害です。注意が必要なのは実行形式の .out ファイルです。a.out/ELF はコードを実行するプログラムであるため、自分が作成したものや既知のソースから入手した信頼できるものだけを実行してください。送られてきた心当たりのない .out ファイルに対して chmod +x && ./ を決して行わないでください。Windows では Linux の a.out はネイティブに動作しない(WSL/Linuxが必要)ためリスクは限定的ですが、未知のバイナリ .out は未知の実行ファイルと同様に慎重に扱ってください。
形式の詳細
概要- コンパイル済み Unix/Linux 実行ファイル (a.out / ELF) - gcc/clang はデフォルトの出力を «a.out» と命名します。このような .out はドキュメントではなく、実行可能なバイナリ(現在は ELF 形式)です。
- LaTeX 補助 .out ファイル - hyperref は LaTeX のビルド中に PDF のしおり/アウトラインデータを保持する .out ファイルを書き出します。これは使い捨てのビルド成果物です。
OUT ファイルを開くプログラム
chmod +x a.out && ./a.out で実行します。file a.out を使用して正体を確認してください。 ./a.out で実行し、テキストの .out は less file.out で読みます。file コマンドであらゆる .out を識別できます。 技術的詳細
詳細仕様| フォーマットの役割 | 汎用出力コンテナ - 固定された内部構造はなく、内容は完全にプログラム定義 |
| MIMEタイプ | application/octet-stream |
| マジックバイト(テキスト版) | なし - ファイルシグネチャのないプレーンな ASCII または UTF-8 テキスト |
| マジックバイト(ELF実行ファイル) | 7F 45 4C 46 (\x7fELF) オフセット0 |
| 典型的なテキスト内容 | プログラムの結果、テスト出力、イベント記録、診断ログ |
| テキストエンコーディング | ASCII または UTF-8、非圧縮。改行コードはプラットフォームに依存(UnixではLF、WindowsではCRLFの可能性あり) |
| デフォルトのコンパイラ出力名 | Unix系システムで -o フラグなしでコンパイルした場合、GCC と Clang は a.out に書き込む |
| ELF実行セクション | .text(マシンコード)、.data(初期化済みグローバル変数)、.bss(ゼロ埋め領域)、.rodata(定数) |
| 必要な実行権限 | Linux/macOS で ./a.out を実行する前に、ELF .out ファイルには chmod +x が必要 |
| ファイル識別コマンド | file a.out - プレーンテキストと ELF バイナリ(または他の形式)を区別する |
| 歴史的な a.out バイナリ形式 | ELF以前のオブジェクト形式で、OMAGIC/NMAGIC/ZMAGIC マジックナンバーを使用。Linuxカーネル 5.18-5.19(2022年)でサポート終了 |
| プラットフォーム(テキスト版) | クロスプラットフォーム - あらゆるOS、言語ランタイム、ビルドツールによって生成される |
| プラットフォーム(ELF版) | Linux およびその他の Unix系システム。macOS は代わりに同様の Mach-O 形式を使用 |
| 典型的なファイルサイズ | テキスト出力の場合は数バイトから数メガバイト。コンパイル済み ELF プログラムの場合は数キロバイトから数十メガバイト |
| セキュリティ上の考慮事項 | .out ELF ファイルは任意のマシンコードを実行します。信頼できないソースからのものは決して実行しないでください |
| リリース日 | No single origin; the name comes from programs that write results to an 'output' file (and from a.out, Unix's default executable name since the 1970s) |
OUT の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。OUT ファイルについて最初の質問をしてみましょう。
よくある質問
.outファイルとは何ですか?どうやって開けばいいですか?
.outファイルはウイルスですか?
a.outファイルを実行するにはどうすればいいですか?
./a.out を実行します(事前に chmod +x a.out で実行権限を付与してください)。これは gcc や Clang がコンパイル済み C/C++ プログラムに付けるデフォルトの名前です。Windows上で直接実行することはできません。なぜ .out ファイルが変な文字で埋め尽くされているのですか?
file コマンドを、Windowsではバイナリエディタを使用して確認してください。