最終更新: 2021-05-07
目次:
シンボリックリンクとは:
シンボリックリンクとは、ファイルやディレクトリの実体に対して、中身の無い参照を作成する事です。UNIX システムでは「ln -s」コマンドを使って作成します。Windows ではショートカットやジャンクションが似た機能を実現ます。
Windows 上の似非 UNIX 環境の Cygwin では、Windows のショートカットがそのままシンボリックリンクとして機能しましたが、MinGW/MSYS では通用しません。しかし、WIndows のジャンクションを使用すれば同様の機能を実現可能です。
MinGW/MSYS のシンボリックリンク相当は Windows 上のジャンクションで実現する:
MinGW の bash から UNIX のシンボリック相当の機能を使う為には、Windows 上で「MKLINK /J」コマンドによりジャンクションを作成しておく必用があります。ジャンクションの作成方法は次の通りです。
MSYS の HOME を移動して、ジャンクションを作成してみる:
ここでは、C:\MSYS にインストール済な MSYS のホームディレクトリを C: ドライブの下に MSYS_home として移動し、そこに MSYS 用のリンクを張る例を示します。
こうしておくと、MSYS の再インストールが気兼ねなく出来ます。
- MinGWのターミナルは予め終了しておく
- Windows 上のエクスプローラで C:\MSYS の下の home を C: ドライブの直下に移動する
- home の名前を MSYS_home に変更する
- Wndows の コマンドプロンプトを開く
- 「cd c:\msys」コマンドでC:\MSYS に移動する
- 「dir」コマンドで内容を確認
- 「mklink /j home C:\MSYS_home」コマンドでジャンクションを作成する
- 正常に終了すれば次の様なメッセージが表示される
「home <<===>> C:\MSYS_home のジャンクションが作成されました」 - 「dir」コマンドでジャンクションが生成されている事を確認
- 「cd home」コマンドで、今作ったジャンクションの下におりてみる
- 「dir」コマンドで中身を確認
- コマンドプロンプトは閉じて良い
- 【こちらの記事】でタスクバーにピン留め済の M アイコンからターミナルを開き正常動作を確認
(「ls」コマンドで自分のホームディレクトリの中身を確認する等)