September 18, 2005Cygwinでln[Computer]
ファイルを参照したいけど、コピーは作りたくない。そのなときにシンボリックリンクを張るというのは*NIXを使っているとよくやることです。 $ ln -s source_file dist_symbolic_link
*NIXの環境をWindowsに持ってきたCygwinでも当然ln -sは実装されていて、それはショートカットで実現されているようです。Windowsのファイラであるエクスプーラから確認すると、dist_symbolic_linkにあたるものがショートカットとしてあることがわかります。 そしてある日、Cygwinでln -sで-sを付け忘れました。*NIXで-sを忘れるとどうなるかというと、ハードリンクという手法によってファイルがリンクされます。ハードリンクというのはファイルシステムによって実現されるリンク手法で、エントリテーブルと呼ばれるファイル構造が物理的に書いてある部分を編集することになります。これはプラットフォームが完全に異なるWindowsではエラーかなんかになるだろう、と思っていました。 しかし、なんとWindowsでもハードリンクってあるんですね。凄い驚きです。エクスプローラから見てもファイルがそのままあるように見える(ショートカットのように矢印付のアイコンが表示されるわけではない)し、そのハードリンクしたファイルを消しても元のファイルは消えませんでした。 コメント
コメントする
|
スポンサード リンク
|