2015年10月11日 星期日

windows mklink vs unix link

在檔案系統中,常有不同路徑指向相同檔案物件(包含檔案或目錄)之需要。
Windows 檔案系統過去提供捷徑檔(.lnk),供檔案總案或部份應用程式取用不同路徑之檔案物件。
Windows Vista 之後開始模仿 Unix 提供符號連結,允許檔案系統層級提供如下四種連結。
   SYMLINK, SYMLINKD, JUNCTION, HardLink

0.捷徑連結: 以特殊捷徑檔(.lnk)供特殊有支援應用程式取用,由client application解析
   DOS DIR 顯示 .lnk 副檔名
   [註] 此 .lnk 於網芳分享他機時,他機可能無法使用
   [註] del .lnk 可刪除捷徑,連結物件仍在

1.檔案符號連結: 預設安全原則需管理權限,連結可以跨切割,由client filesystem解析
   Windows指令: mklink   file_soft_link   file
   Unix指令:    link  -s  file_soft_link   file
   DOS DIR 顯示 <SYMLINK>
   [註] 此 file_soft_link 於網芳分享他機時,他機可能無法使用
   [註] del file_soft_link 可刪除符號連結,連結檔案仍在

2.目錄符號連結: 預設安全原則需管理權限,連結可以跨切割,由client filesystem解析
   Windows指令: mklink  /d  dir_soft_link   dir
   Unix指令:    link  -s  dir_soft_link   dir
   DOS DIR 顯示 <SYMLINKD>
   [註] 此 dir_soft_link 於網芳分享他機時,他機可能無法使用
   [註] rmdir dir_soft_link 可刪除符號連結,連結目錄仍在
   [註] del dir_soft_link 會詢問是否刪除目錄所有內容

3.目錄連結: 不需權限,連結限定本機任意切割,由server filesystem解析
   Windows指令: mklink  /j  dir_hard_link   dir
   Unix指令:    無類似 unix 指令
   DOS DIR 顯示 <JUNCTION>
   [註] 此 dir_hard_link 於網芳分享他機時,他機仍可使用
   [註] rmdir dir_hard_link 可刪除連結,連結目錄仍在
   [註] del dir_hard_link 會詢問是否刪除目錄所有內容

4.檔案連結: 不需權限,連結限定本機本切割,由server filesystem解析
   Windows指令: mklink  /h  file_hard_link  file
   Unix指令:    link  file_hard_link  file
   DOS DIR 顯示 等同普通檔案,無任何標示
   [註] 此 file_hard_link 於網芳分享他機時,他機仍可使用
   [註] del file_hard_link 可刪除連結,若連結檔案已無其他連結,檔案將真正刪除
           
註: 預設安全原則之下 mklink, mklink/d 兩個建立符號連結指令需管理權限,要以系統管理員執行DOS視窗,才能使用。

沒有留言: