ハードリンク、ジャンクション、シンボリックリンク、ショートカットの違い

今までよく知らずに使っていたが、Windows におけるリンク機能には上記の 4 つがあり、それぞれの機能は微妙に異なっている。ここでまとめておこう(詳しい説明はここを参照)。


ハードリンク
・Windows 3.1 以降で使用可能
・1 つのファイルに対して複数のリンク(パス)を付けることができる。
・すべてのリンクが削除されない限り、本体のファイルが消えることはない。
・よってディスク容量を節約できる。
・片方のリンクで開いたファイルを変更すると、他のリンクで開いているものも更新される。
・ディレクトリ(フォルダ)に張ることはできない。
・ドライブをまたいでリンクを張ることはできない。
ジャンクション
・Windows 2000 以降で使用可能
・ハードリンクとは異なり、ディレクトリにリンクを張ることができる。
・標準ではファイルにリンクを張ることはできない。
・ハードリンクとは異なり、ドライブをまたいでリンクを張ることができる。
・ネットワークドライブにはリンクが張れない。
・相対パスのリンクを張ることはできない。
シンボリックリンク
・Windows Vista 以降で使用可能
・ジャンクションの強化版で、UNIX のシンボリックリンクと同等の機能をもつ。
・ファイル、ディレクトリ、ネットワークドライブなど、ほとんどの対象にリンクが張れる。
ショートカット
・リンク先のパスが書かれたファイル。拡張子は "lnk" でなければならない。
・アプリケーションが自分でリンクを開き直さなければならない。