Windows也可以作symbolic link (2)

幾年前寫過一篇”Windows也可以作symbolic link
當時XP支援不是很好,加上一些GUI也不是那麼好用,所以也沒用上。

不過現在就方便的多了
Vista之後除了hardlink、junction之外,又支援了softlink
然後又有Link Shell Extension (LSE)這種方便的GUI工具
就算是XP,也有個日本人Masatoshi Kimura作的driver可以裝

雖然搞了半天還是沒Linux的link強大,不過算是可以用了啦。


Softlink : 產生原始檔的連結,類似linux的Symbolic link。刪連結不影響原檔,原檔搬移時連結會找不到。
Hardlink: 產生原始檔的分身,但只佔用一份檔案空間。要把所有分身都刪掉才完全刪除。
Junction: 類似softlink,但只能用於目錄。

這三種各有不同特性:

  Softlink Hardlink Junction
用於檔案 v v x
用於目錄 v x v
跨磁碟 v x v
用於UNC ? ? ?
從UNC開啟 x v v

其實我沒很詳細列,問號的部份懶的試了
本來應該是Softlink最好用,但因為從UNC(網芳)打不開,所以:
檔案:用hardlink作
目錄/跨磁碟目錄:用Junction作
跨磁碟檔案:沒救,放進目錄吧

後記:

  • 雖然刪除link的時候理論上應該不會影響到原本檔案,但這種半外掛的東西還是小心點好,刪除前最好先按連結內容把link target改掉。我在XP上用曾把softlink對應的整個目錄都刪了。
  • Windows XP需要裝driver是因為作業系統在user space沒支援softlink,檔案系統方面其實在Windows 2000的NTFS5.0就已經支援了。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *