幾年前寫過一篇"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就已經支援了。
--
現在還在寫blog分享資訊的人越來越少,如果覺得文章對您有幫助,歡迎在底下留言,這樣我也比較有動力繼續寫下去,謝啦!