シンボリックリンクとは何ですか? Windows 11/10 でシンボリックリンクを作成するにはどうすればよいですか?

シンボリックリンク– シンボリック リンクまたはソフト リンクとも呼ばれる – は、コンピュータ ユーザーにとって最も隠された概念の 1 つである可能性があります。ただし、だからといってその重要性やそれがもたらす利点が失われるわけではありません。重複したコピーを保持せずに、異なるフォルダーにあるフォルダーやファイルにアクセスするにはどうすればよいでしょうか?そう、それが力なのですシンボリックリンク

シンボリックリンクまたはシンボリックリンクとは何ですか

シンボリックリンクは、別の場所にある物理ファイルまたはフォルダーを参照するショートカット ファイルです。シンボリックリンクは仮想ファイルまたはフォルダーとして機能し、個々のファイルまたはフォルダーにリンクするために使用でき、シンボリックリンクが実際の場所を指しているだけであっても、それらがシンボリックリンクのあるフォルダーに保存されているかのように見えます。

シンボリックリンクを単なるショートカットと混同しないでください

シンボリックリンクは、Windows ユーザーであればすでに知っている単なるショートカットではないことを理解することが重要です。ショートカット ファイルは単に目的のファイルを指すだけですが、シンボリックリンクはリンクされたファイルが実際に存在するかのように見せます。シンボリックリンクをクリックすると、実際のファイルの場所に移動します。

シンボリックリンクの構造

シンボリックリンクは、オペレーティング システムによって自動的に解釈され、別のファイルまたはディレクトリへのパスとして続くテキスト文字列の構築です。この他のファイルまたはディレクトリは、"ターゲット”。

シンボリックリンクはターゲットとは独立して存在します。シンボリックリンクが削除されても、そのターゲットは影響を受けません。シンボリック リンクがターゲットを指しており、その後そのターゲットが移動、名前変更、または削除された場合、シンボリック リンクは自動的に更新または削除されませんが、存在し続け、古いターゲットを指し続けます。ただし、移動されたターゲットまたは存在しないターゲットを指すこのようなシンボリックリンクは、壊れている、孤立している、デッド、またはダングリングと呼ばれることがあります。

シンボリックリンクの利点

  1. シンボリックリンクは消費するスペースが非常に少なく、非常に高速に作成されます。シンボリックリンクを使用すると、ハードディスクのスペースを大幅に節約できます
  2. ハード リンクとは対照的に、シンボリックリンクはファイル システム間でファイルにリンクできます。元のファイルを削除した場合でも、ハード リンクによってそのファイルは存続しますが、シンボリックリンクは存続しないことに注意してください。
  3. シンボリックリンクは、シンボリックリンクが含まれるフォルダー構造を維持します。たとえば、TXTファイルは、"ユーティリティ"にあるフォルダー/D/Myfolder/ユーティリティ/windowsclub.txt。ここで、ユーティリティDropbox フォルダ内に フォルダが作成され、次を検索しましたウィンドウズクラブ.txtDropbox フォルダー内のファイル パスは次のようになります。/D/Myfolder/ユーティリティ/windowsclub.txt元の/実際のファイル パスに変換して戻すのではなく、
  4. シンボリックリンクを使用すると、メディア ファイルの音楽/ビデオを別のハード ドライブに保存し、標準の音楽/ビデオ フォルダに表示して、メディア プログラムで検出できるようにすることができます。
  5. 開発者は、共有ファイル/フォルダーの重複コピーを、物理ファイル/フォルダーを参照するシンボリックリンクに置き換えることがよくあります。ファイルの冗長コピーを置き換えると、物理ディスク領域を大幅に節約でき、プロジェクトのコピー/バックアップ/デプロイ/クローン作成にかかる時間を大幅に短縮できます。

今日の開発世界におけるシンボリックリンクの重要性

Microsoft のリード シニア プログラム マネージャーである Yosef Durr 氏が Windows ブログで次のように述べています。

git などの多くの一般的な開発ツールや npm などのパッケージ マネージャーは、それぞれリポジトリまたはパッケージの作成時にシンボリックリンクを認識し、保持します。これらのリポジトリまたはパッケージが別の場所に復元されると、シンボリックリンクも復元され、ディスク領域 (およびユーザーの時間) が無駄にならないようにします。たとえば、Git は、GitHub などのサイトと同様に、現在ほとんどの開発者が使用する主要なソース コード管理ツールとなっています。

最新の開発におけるパッケージ マネージャーの使用も、近年爆発的に増加しています。たとえば、ノード パッケージ マネージャー (npm) は、2015 年 7 月 1 日の週に約 4 億のインストールを提供しましたが、わずか 1 年後には 12 億以上のインストールを提供しました。これは、わずか 1 年で 3 倍に増加しました。 2016 年 6 月下旬、npm はわずか 7 日間で 17 億を超えるノード パッケージを提供しました。

Windows 11/10のシンボリックリンク

シンボリックリンクには明確な利点がありますが、制限なくシンボリックリンクを作成できる Linux、FreeBSD、OSX などの UNIX 互換オペレーティング システムで主に利用されていました。 Windows ユーザーにとって、シンボリックリンクは Windows Vista から利用できるようになりましたが、作成は難しくて面倒でした。

Windows Vista のセキュリティ要件のため、ユーザーはローカル管理者権限を必要とし、重要なことに、次のことを実行する必要がありました。ムリンク管理者として昇格されたコマンドライン コンソールで、シンボリックリンクを作成/変更します。この後者の制限により、ほとんどの Windows 開発者はシンボリックリンクをあまり使用しないことになり、多くの最新のクロスプラットフォーム開発ツールが Windows 上で効率的かつ信頼性の低い動作をすることになりました。

ただし、Windows 10 または Windows 11 では、管理者権限を持つユーザーが開発者モードを有効にすると、PC 上の誰でもエムクリンクコマンドライン コンソールを昇格せずにコマンドを実行できます。

シンボリックリンクはどのように作成しますか

シンボリックリンクは、次のいずれかを使用して作成できます。mklinkコマンドまたはCreateSymbolicLink API

作ることができますシンボリックリンクまたはシンボリックリンクWindows では、コマンドライン ユーティリティを使用します。エムクリンク。構文は次のとおりです。

MKLINK [[ /D] | [ /H] | [ /J]] Link Target

どこ -

  • /D: シンボリック ディレクトリ リンクまたはソフト リンクを作成します
  • /H: シンボリック リンクの代わりにファイルへのハード リンクを作成します。
  • /J: ディレクトリ ジャンクション リンクを作成します

ターゲット: 新しいリンクが参照するパスを指定します。

たとえば、d:\Data をフォルダー D:\Maindata から利用できるようにするには、次を使用します。

C:\mklink /DD:\Maindata D:\Data

ここで、D:\Maindata を見ると、他のディレクトリにあったファイルがすべて表示されます。 Linux には以前から存在していましたが、この機能は Vista でも利用できるようになりました。

mklinkコマンドを使用する

使用中mklinkコマンド、以下の構文を使用します。

“mklink /prefix link_path file/folder_path”

注: mklink はいくつかのタイプのリンクを作成できます。以下に種類があります-

  • /D ディレクトリのシンボリック リンクを作成します。デフォルトはファイルのシンボリック リンクです。
  • /H シンボリック リンクの代わりにハード リンクを作成します。
  • /J ディレクトリ ジャンクションを作成します。

たとえば、デスクトップへの Music フォルダーのディレクトリ ジャンクションを作成しました。以下のスクリーンショットを参照してください。

したがって、シンボリックリンクをクリックすると、音楽ファイルが次の場所に保存されているように見えます。C:\ユーザー\<username> \デスクトップ\音楽もともと存在しているにもかかわらず、C:\ユーザー\<username> \音楽

パスにスペースが含まれている場合は、引用符で囲む必要があることに注意してください。

CreateSymbolicLink の使用

CreateSymbolicLink API を使用するときに新しい動作を有効にするために、追加の機能があります。dwFlagsオプションの値を次のように設定する必要があります。

SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE

0x2

したがって、上記の値を選択することで、プロセスが昇格されていない場合にシンボリック リンクの作成を許可するフラグを指定したことになります。

を使用してシンボリックリンクを作成する方法について詳しくは、シンボリックリンクの作成API、アクセスウィンドウズ.com

読む:ハードリンク、シンボリック リンク、ジャンクション、ボリューム マウント ポイントの作成

結論

シンボリックリンクは単なるショートカットよりも便利であると言えますが、作成するのが少し難しいです。平均的な PC ユーザーは、それでも作成するのが少し怖いと感じるかもしれません。さらに、今日でも多くのユーザーはショートカットの概念をよく理解するのに苦労しており、そのためシンボリックリンクを区別し、その使用方法を理解するのに苦労している可能性があります。

そうは言っても、プログラムが正しいディレクトリを指すように、また実際にシンボリックリンクを作成する必要がないように、設定と使用方法を知っていれば、できる限りの設定を簡単に変更できることがほぼ保証されます。優れたシンボリックリンクは非常に便利です。