「exeファイルがunixで動く訳ないじゃん!!」
恥かいた。
バイナリファイル
コンピュータが読み込めるように0と1で分解したファイル。
OSによって読み込めるバイナリファイルの違いがある。
以下はこのバイナリファイルの種類だ。
実行可能ファイル(Executable Files)
概要
プログラムとして直接実行可能なファイル。
例
- Windows:
.exe - Linux/Unix: ELF形式のバイナリファイル
- macOS: Mach-O形式
特徴
- 機械語で書かれた命令が含まれており、CPUが直接実行可能。
- OSに依存する形式で、他のOSでは実行できない場合が多い。
ライブラリファイル(Library Files)
概要
プログラムから利用される関数やリソースを含むファイル。
例
- Windows:
.dll(Dynamic Link Library) - Linux/Unix:
.so(Shared Object) - 静的ライブラリ:
.lib(Windows)、.a(Linux/Unix)
特徴
- プログラムから呼び出されて利用されるため、単独では実行できない。
データファイル(Data Files)
概要
特定のアプリケーションが利用するデータを格納。
例
- 画像ファイル:
.png,.jpg,.bmp(画像データ) - 動画ファイル:
.mp4,.avi,.mov(動画データ) - オーディオファイル:
.mp3,.wav(音声データ) - 圧縮ファイル:
.zip,.tar.gz(圧縮されたデータ)
特徴
- ファイル形式に応じたアプリケーションでのみ適切に解釈される。
設定ファイル(Configuration Files)
概要
プログラムやシステムが利用する設定情報を含むバイナリファイル。
例
-
.bin,.dat(独自形式での設定データ)
特徴
- 特定のソフトウェアで読み取られる専用形式で保存。
仮想マシンやエミュレータ用ファイル
概要
仮想マシンやゲームエミュレータで使用されるバイナリデータ。
例
- 仮想マシンディスクイメージ:
.vmdk,.qcow2 - ROMファイル:
.iso,.gba,.nes(ゲームやCD/DVDのデータ)
特徴
- 仮想環境やエミュレータで実行・読み込み可能。
ドライバファイル(Driver Files)
概要
ハードウェアを動作させるためのソフトウェアを含むファイル。
例
- Windows:
.sys - Linux: カーネルモジュール(
.koファイル)
特徴
- OSがハードウェアを制御する際に使用。
フォントファイル(Font Files)
概要
フォントデータを格納するバイナリファイル。
例
-
.ttf(TrueTypeフォント) -
.otf(OpenTypeフォント)
特徴
- テキストを特定の書体で表示するために使用。
バイナリ形式のドキュメントファイル
概要
ドキュメントデータを効率的に保存するためにバイナリ形式で格納。
例
- Microsoft Word:
.doc,.docx - Microsoft Excel:
.xls,.xlsx - Adobe PDF:
.pdf
特徴
- ドキュメントの内容を圧縮したり、リッチな形式を保存する。
仮想実行環境用ファイル
概要
バイトコード形式で保存された中間形式のファイル。
例
- Java:
.class(JVM用) - .NET:
.dll,.exe(CIL/IL形式)
特徴
- 仮想マシン上で実行可能。
バイナリファイルとテキストファイルの違い
| 項目 | バイナリファイル | テキストファイル |
|---|---|---|
| 内容 | 0と1で構成されたデータ | 人間が読める文字列 |
| 編集 | 専用のツールが必要 | テキストエディタで編集可能 |
| 例 |
.exe, .dll, .png, .zip
|
.txt, .csv, .json, .xml
|
| 用途 | 実行可能ファイルやリソース、データの保存 | 設定やデータの記述、プログラムのソースコード |
いやごめんChatGPTさんの力を使ってしまった。
極力ソースは参考書や技術書から引用したいけど、たまにこのような事もします。
所感
そう思うとbatファイルやcshファイルはテキストファイルでありながら実行することができて中身もすぐに閲覧編集可能・・・めちゃ使いやすいんだなって痛感したよ。