読者です 読者をやめる 読者になる 読者になる

Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

Windowsのジャンクション(junction)とシンボリック・リンク(symblic link)違い

スポンサードリンク

f:id:fa11enprince:20150725231409j:plain
Windowsで似た機能のジャンクション(junction)と
シンボリック・リンク(symblic link)が存在します。
他にもハードリンクという機能がありますが、ほとんど使わないので無視します。

よくわからないし、そんなものは見たことがないといった人に説明しますと
ジャンクションとシンボリック・リンクは
ショートカットのようなものです。
ちなみにですが、ディレクトリとはフォルダのことです。

細かい違いはここに書いてあります。www.atmarkit.co.jp

ジャンクションとシンボリック・リンクの違い

大まかな違いを簡単にまとめます

機能 ジャンクション シンボリックリンク
ファイル・システム NTFS NTFS
作成に必要な権限 一般ユーザー権限 管理者権限が必要
ファイルへのリンク ×
ディレクトリへのリンク
dirコマンド出力での表記 JUNCTION SYMLINK SYMLINKD
ネットワーク先へのリンク ×(ローカルのみ)
他マシンから参照(*1) ×
作成コマンド mklink /j mklink mklink /d
エクスプローラの表示 アイコンに矢印 アイコンに矢印

(*1)についてはどういうことかというと、
マシンA(MachineA)、ServerA(ServerA)があったとして、

マシンAのフォルダ(ディレクトリ)構成

MachineA
  <DIR>      C:\MyDataA

サーバAのフォルダ(ディレクトリ)構成

ServerA
  <SYMLINKD> C:\JunctionA [C:\MyDataA_1]
  <SYMLINKD> C:\SymbolickLinkA [C:\MyDataA_1]
  <DIR>      C:\MyDataA_1

こうなっていた時にマシンAから
C:\JunctionAを見たときにはサーバAのC:\MyDataA_1が見れますが、
C:\SymbolicLinkAを見たときにはマシンAのC:\MyDataA_1を見に行こうとして
「ファイルが存在しません」となります。
ただし、設定で見られるようにすることも可能。

どちらを使えばよいか

自分のマシンでどちらかを使いたいときはシンボリック・リンクを
使っておけばいいとおもいます。
ショートカットで充分ですが。

結論

特段事情がない限り、
ショートカット > シンボリック・リンク > ジャンクション > ハードリンク
で使う。