みねっちょのマイコン関係ブログ

組込開発系フリーソフトやハードの情報発信ブログ

MinGW/MSYS で使用可能なシンボリックリンク相当を作成する

サイト内 Google 検索:


最終更新: 2021-05-07  

目次:


 


シンボリックリンクとは:

シンボリックリンクとは、ファイルやディレクトリの実体に対して、中身の無い参照を作成する事です。UNIX システムでは「ln -s」コマンドを使って作成します。Windows ではショートカットやジャンクションが似た機能を実現ます。

Windows 上の似非 UNIX 環境の Cygwin では、Windows のショートカットがそのままシンボリックリンクとして機能しましたが、MinGW/MSYS では通用しません。しかし、WIndows のジャンクションを使用すれば同様の機能を実現可能です。

MinGW/MSYS のシンボリックリンク相当は Windows 上のジャンクションで実現する:

MinGWbash から UNIX のシンボリック相当の機能を使う為には、Windows 上で「MKLINK /J」コマンドによりジャンクションを作成しておく必用があります。ジャンクションの作成方法は次の通りです。


 


MSYS の HOME を移動して、ジャンクションを作成してみる:

ここでは、C:\MSYS にインストール済な MSYS のホームディレクトリを C: ドライブの下に MSYS_home として移動し、そこに MSYS 用のリンクを張る例を示します。

こうしておくと、MSYS の再インストールが気兼ねなく出来ます。

  1. MinGWのターミナルは予め終了しておく 
  2. Windows 上のエクスプローラで C:\MSYS の下の home を C: ドライブの直下に移動する
  3.  home の名前を MSYS_home に変更する
  4.  Wndows の コマンドプロンプトを開く
  5. 「cd c:\msys」コマンドでC:\MSYS に移動する
  6. 「dir」コマンドで内容を確認
  7. 「mklink /j home C:\MSYS_home」コマンドでジャンクションを作成する
  8.  正常に終了すれば次の様なメッセージが表示される
    「home <<===>> C:\MSYS_home のジャンクションが作成されました」
  9. 「dir」コマンドでジャンクションが生成されている事を確認
  10. 「cd home」コマンドで、今作ったジャンクションの下におりてみる
  11. 「dir」コマンドで中身を確認
  12. コマンドプロンプトは閉じて良い
  13.  【こちらの記事】でタスクバーにピン留め済の M アイコンからターミナルを開き正常動作を確認
    (「ls」コマンドで自分のホームディレクトリの中身を確認する等)

【MinGW の目次へ戻る】