"NTFS 連接點" ( NTFS junction point ) 是 NTFS 檔案系統提供的一種能力,可以讓某一個實體目錄(Target) 直接 Link (連結) 到另一個 對應的目錄(Junction Directory),這與建立「捷徑(ShortCut)」是個截然不同的概念。
你所建立的 "NTFS 連接點" 目錄跟你原本的目錄內容,完全一模一樣 (包括安全性設定),因為實際上這兩個目錄下的檔案是「完全相同」的一份資料,只是透過了 "NTFS 連接點" 建立了兩個目錄之間的連結。
而建立 "NTFS 連接點" 最大的好處就是這是一個「感覺」完全獨立的目錄,對「檔案總管」或「任何其他的程式」來說,根本不知道這目錄到底是不是一個 NTFS 連接點,而可以直接進行檔案、目錄操作。
再者,有些舊有的程式只能讀取固定目錄下的資料,若因為 C 槽硬碟空間不夠而將資料搬移後,程式可能就無法運作了,這時就可以透過 Junction 工具幫你建立 "NTFS 連接點",省時又省力!
Junction 的使用說明如下:
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
The first usage is for displaying reparse point information, and the
second usage is for creating or deleting a NTFS junction point:
usage: junction [-s] [-q]
-q Don't print error messages (quiet)
-s Recurse subdirectories
usage: junction [-d]
-d Delete the specified junction
example: junction d:\link c:\winnt
舉幾個簡單的例子。若你的實體目錄在 D:\MyDocument 而你要建立一個 "NTFS 連接點" 到 C:\Profiles\User1\MyDocs 目錄的話,就可以用以下指令完成:
junction c:\Profiles\User1\MyDocs "d:\tmp\My Documents"
這時你會得到以下訊息:
Junction v1.05 - Windows junction creator and reparse point viewer
Copyright (C) 2000-2007 Mark Russinovich
Systems Internals - http://www.sysinternals.com
Created: c:\Profiles\User1\MyDocs
Targetted at: d:\tmp\My Documents
代表你已經成功建立 C:\Profiles\User1\MyDocs 目錄,而這個目錄是一個 "NTFS 連接點"。從檔案總管中,你完全無法看出這目錄到底是「真實目錄」或是「NTFS 連接點」,但你可以透過「命令提示字元模式」以 dir 指令查看此目錄是不是一個 "NTFS 連接點" (如下圖示)。
若要刪除 "NTFS 連接點" 我發現有三種方式,要是你選錯方式,你的資料就會全部不見,所以使用上要小心謹慎,不要因為偷懶就用檔案總管進行刪除動作:
1. 使用標準的Junction 工具程式進行刪除 ( 建議用法 )
junction -d c:\Profiles\User1\MyDocs
2. 使用檔案總管進行刪除 ( 將"NTFS 連接點" 目錄丟進「資源回收筒」 ),當你用了這招刪除,事實上只是將 "NTFS 連接點" 移到「資源回收筒」而已,所以 "NTFS 連接點" 其實是還在的,所以你的來源目錄裡的檔案還會存在,不過當你「清空資源回收筒」時,包含你的原本的目錄下所有檔案都會一併被刪除!
3. 使用檔案總管進行刪除 ( 使用 Shift + Delete 直接刪除 ),這也是最無藥可救的方式 (其實有藥),一次刪除殆盡,包含你的原本的目錄下所有檔案都會一併被刪除!
在特別提醒一點,如果你從 "NTFS 連接點" 的上層目錄開始刪除的話,你原本資料夾下的目錄一樣會消失喔。又如果你因為使用了 "NTFS 連接點" 而「忘記」有這件事還刪除此目錄的話,那真的算你倒楣了,檔案會全數消失!
如果不放心,還是建議各位不要使用,以免檔案遺失而不自知。不過對於一些罕見的使用情境,確實是一個很棒的解決方案。
http://blog.miniasp.com/post/2009/02/11/Using-Junction-tool-to-make-symbolic-links-in-Windows.aspx
No comments:
Post a Comment