code up

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

ジャンクション、ハードリンク、シンボリックリンク

ジャンクション、ハードリンク、シンボリックリンクについてまとめ。

環境はWindows 7 Professional 64bit

ジャンクション

ソフトリンク - Wikipediaジャンクション機能を使ってフォルダをマウントする - @IT

  • Windows 2000以降
  • ボリュームの場合: mountvol [フォルダ名(相対でも絶対でも可。ただし空の存在するフォルダ)] [ボリューム名(\\?\Volumeごにょごにょ)]
  • フォルダの場合: linkd (リソースキット・ツールに含まれる。詳細不明)
  • mklink /J [新しいフォルダ名] [ドライブパスやフォルダパス]でも作成できる
  • ホスト側はNTFSのみ
  • ボリューム、フォルダに対してのみ
  • 異なるボリューム間で作成できるが、元のフォルダ名を変えちゃうと見失う
  • mountvolで作成した場合はmountvol [フォルダ名] /Dで削除
  • mklinkで作成した場合は通常のファイルと同様に削除すれば良い
  • 一旦見失った場合でも同じ名前のフォルダを作れば、リンクが復活する。IDではなくてパスで管理している感じ
  • 相対パスで指定して作成しても絶対パスになる(絶対パスの位置にないと見失う)
  • ネットワークドライブは不可("ローカル ボリュームは、操作を完了する必要があります。"/"local volumes are required to complete the operation"というエラー)

ハードリンク

ハードリンク - Wikipediaファイルへの別名を割り当てるハードリンクを作成する - @IT

  • Windows XP以降
  • fsutil hardlink create [新しいファイル名] [リンク先(実体)のファイル名]で作成
  • mklink /H [新しいファイル名] [リンク先(実体)のファイル名]でも作成できる
  • fsutil hardlink list [ファイル名(実体でもリンク先でも)]でリンク先一覧
  • NTFSのみ
  • ファイルに対してのみ
  • 同一ボリューム内のみ
  • 削除用のコマンドはなく通常のファイルと同様に削除すれば良い
  • どれが実体でどれがリンクかは分からなくなる
  • ファイルのIDが変わらない限りリンクは継続する。つまり同名ファイルを上書きでコピーした場合はリンクが継続するが、同一ボリュームで移動した場合(rename)はファイルIDが変わるためリンクは途切れる

シンボリックリンク

ソフトリンク - WikipediaWindows Vista/Windows Server 2008でシンボリック・リンクを作成する - @IT

  • Windows Vista以降
  • ファイル: mklink [新しいファイル名] [リンク先(実体)のファイル名]
  • ディレクトリ: mklink /D [新しいディレクトリ名] [リンク先(実体)のディレクトリ名]
  • NTFSのみ
  • 削除用のコマンドはなく通常のファイルと同様に削除すれば良い
  • 相対パスは相対パス、絶対パスは絶対パスで作成される
  • 一旦見失った場合でも同じ名前のフォルダを作れば、リンクが復活する。IDではなくてパスで管理している感じ
  • アプリケーションによってはシンボリックリンク先を追わずに参照できない場合がある

元々何がしたかったっていうと

C:\Windows\System32\drivers\etc\hostsの編集がいつも面倒なので、

mklink [マイドキュメント]\hosts.txt C:\Windows\System32\drivers\etc\hosts

って感じで簡単に編集できるようにしたかったのでした。

ちなみに読み込まれたhostsファイルはキャッシュに残るので、リフレッシュするには、

ipconfig /flushdns

関連記事
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。