Cygwinは、UNIX プログラムを最小限の変更または変更なしで Windows システム上でコンパイルおよび実行できるようにするためのライブラリであり、このライブラリでコンパイルされたパッケージ化された UNIX ツールおよびアプリケーションの包括的なセットです。Windows のほぼ完全なラッパーです。これには、X サーバーと、Linux ディストリビューションで期待できる非常に多くのプログラムが含まれています。Windows で UNIX コマンド ラインを学習または使用したい人に最適です。
MSYSは、ほとんどの場合、 MinGWコンパイラconfigure
を使用して Windows システムでGNU スタイルのパッケージ (などを含む) をビルドするために必要な UNIX ツールのポートです。効率のために互換性を犠牲にするように変更された Cygwin ライブラリのバリアントを使用し、より Windows に適しています。
GnuWin32は、いくつかの GNU ツールを Windows に移植しただけです。MSYS と同様msvcrt.dll
に、いくつかの UNIX 互換機能を提供するために追加のライブラリと同様に を使用します。その主な目的は、Windows プログラムとバッチ ファイルが GNU プログラムとライブラリの一部を直接使用できるようにすることであると思われます。
ほとんどの場合、これらはすべて Windows で UNIX プログラムを提供しますが、次のような微妙な違いが多数あります。
- 意図。Cygwin は、Windows OS で UNIX を使用したい人向けです。MSYS は、GNU/UNIX ビルド ツールを使用して Windows プログラムをビルドしたい人向けです。GnuWin32 は、個々の GNU プログラムとライブラリを Windows に移植したものです。
- テキスト ファイル、特に行末。Cygwin では、CR/LF または LF を使用できます。MSYS は LF 行末を想定しています。GnuWin32 プログラムは、CR/LF の行末を想定しています。
- 提供プログラム。特に、Cygwin にはより多くのパッケージがあり、GnuWin32 にはシェルがありません。
git に関しては、Cygwin で利用できます。このバージョンは、Windows ディレクトリ (下でアクセス可能/cygdrive
) で使用できます。また、前述のように、msysgitがあります。