欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

windows7中的“mklink命令”

admin
2012年12月31日 10:20 本文熱度 4049

  從 Vista 以后,微軟將用戶文件和用戶的軟件配置( AppData ) 明確劃分開,并且全部存放在使用者的用戶目錄下。


  Linux早已這樣做了,并且在Linux中可將 home 掛載為獨立分區,而微軟顯然還沒學到家。用戶目錄依舊和系統目錄一起放在同一分區。


  如何將用戶目錄移動到非系統分區?這是本文的出發點。但本文的重心不在于此,而是 mklink ,一個命令。


一、何為 mklink
  mklink 是何方神圣,值得專門作文講述?


  如果用過 Linux ,那想必也看到過符號鏈接(這是一種特殊的文件),也用過 “ ln ” 這個鏈接命令,mklink 和 ln 的功能幾乎一樣。


  mklink 便是用來創建符號鏈接的,這個命令并不知名,使用的人也不多。


自從 Vista 以后,微軟便在 widows中 偷偷地用起了這個工具 。在用戶目錄下,可以看到很多很像快捷方式的文件,當然這是隱藏的,但卻不能打開,其實這便是符號鏈接。


>dir C:\Users\wclu /a
驅動器 C 中的卷是 win7
卷的序列號是 8CD0-A743




  1. C:\Users\wclu 的目錄  

  2.   

  3. 2009/06/11 11:42    <DIR>          .  

  4. 2009/06/11 11:42    <DIR>          ..  

  5. 2009/06/11 00:04    <DIR>          AppData  

  6. 2009/06/11 00:04    <JUNCTION>     Application Data [C:\Users\wclu\AppData\Roaming]  

  7. 2009/06/11 00:04    <DIR>          Contacts  

  8. 2009/06/11 00:04    <JUNCTION>     Cookies [C:\Users\wclu\AppData\Roaming\Microsoft\Windows\Cookies]  

  9. 2009/06/11 10:05    <DIR>          Desktop  

  10. 2009/06/11 00:04    <DIR>          Documents  

  11. 2009/06/11 02:44    <DIR>          Downloads  

  12. 2009/06/11 00:04    <DIR>          Favorites  

  13. 2009/06/11 00:04    <DIR>          Links  

  14. 2009/06/11 00:04    <JUNCTION>     Local Settings [C:\Users\wclu\AppData\Local]  

  15. 2009/06/11 00:04    <DIR>          Music  

  16. 2009/06/11 00:04    <JUNCTION>     My Documents [C:\Users\wclu\Documents]  

上述標紅色的文件,便是符號鏈接了(上述文件并非C:\Users\wclu目錄下全部文件) 。


Vista/Windows 7使用這些符號鏈接,是為了兼容XP等系統。


二、mklink 用法
mklink 只能在命令提示符 “CMD” 中使用。


>mklink /?
創建符號鏈接。


MKLINK [[/D] | [/H] | [/J]] Link Target


/D      創建目錄符號鏈接。黙認為文件
符號鏈接。
/H      創建硬鏈接,而不是符號鏈接。
/J      創建目錄聯接。
Link    指定新的符號鏈接名稱。
Target 指定新鏈接引用的路徑
(相對或絕對)。


注:上述的符號鏈接等同于Linux中的軟鏈接。


為了試驗 mklink 的功能,我在 C分區中創建目錄 a ,并在目錄中存放文件 1.txt。


創建文件鏈接
E:\>mklink c:\1   c:\a\1.txt拒絕訪問。


E:\>mklink c:\2.txt c:\a\1.txt
為 c:\2.txt <<===>> c:\a\1.txt 創建的符號鏈接


可見為文件創建鏈接時,符號鏈接文件的擴展名要和原文件保持一致。


E:\>mklink c:\a\1.txt d:\3.txt
當文件已存在時,無法創建該文件。


E:\>mklink d:\3.txt c:\a\1.txt
為 d:\3.txt <<===>> c:\a\1.txt 創建的符號鏈接


可見為文件創建鏈接時,必須是 “mklink 符號鏈接文件名   原文件名”的格式。


創建目錄鏈接
E:\>mklink /d c:\b d:\a
為 c:\b <<===>> d:\a 創建的符號鏈接


雖然d:\a 目錄不存在,但依然可以創建鏈接,很好很強大。但打開鏈接時,提示錯誤。


E:\>mklink /d d:\a c:\a
為 d:\a <<===>> c:\a 創建的符號鏈接


E:\>dir d: /a
驅動器 D 中的卷是 soft
卷的序列號是 BE86-8884


D:\ 的目錄




  1. 2009/06/11 10:00    <DIR>          $RECYCLE.BIN  

  2. 2009/06/11 13:08    <SYMLINK>      3.txt [c:\a\1.txt]  

  3. 2009/06/11 13:18    <SYMLINKD>     a [c:\a]  

  4. 2009/06/11 12:54    <DIR>          Program Files  

  5. 2009/06/11 09:58    <DIR>          System Volume Information  

  6. 1 個文件              0 字節  

  7. 4 個目錄 31,089,442,816 可用字節  

當把D分區中的鏈接文件刪除時,C分區中的文件和文件夾不受任何影響。


三、mklink /d 與 makelink /j 的異同
從 mklink 的幫助中可以看到,兩者皆可以創建目錄鏈接。


細心的同學可以發現,前者是創建目錄鏈接,而后者是創建目錄聯接。


一字之差,有何分別?


下面分別用這兩種方式為同一目錄創建鏈接:


E:\>mklink /j d:\a c:\a
為 d:\a <<===>> c:\a 創建的聯接


E:\>mklink /d d:\b c:\a
為 d:\b <<===>> c:\a 創建的符號鏈接


下面顯示D分區中的文件及目錄列表:


E:\>dir d: /a
驅動器 D 中的卷是 soft
卷的序列號是 BE86-8884


D:\ 的目錄




  1. 2009/06/11 10:00    <DIR>          $RECYCLE.BIN  

  2. 2009/06/11 13:33    <SYMLINK>      1.txt [c:\a\1.txt]  

  3. 2009/06/11 13:34    <JUNCTION>     a [c:\a]  

  4. 2009/06/11 13:35    <SYMLINKD>     b [c:\a]  

  5. 2009/06/11 12:54    <DIR>          Program Files  

  6. 2009/06/11 09:58    <DIR>          System Volume Information  

  7. 1 個文件              0 字節  

  8. 5 個目錄 31,089,442,816 可用字節  

mklink 不加參數或加參數 /d 時,創建的鏈接文件為<SYMLINK>型(<SYMLINKD>代表鏈接到目錄)。


當加參數 /j 時,只能為目錄創建聯接,并且創建的聯接文件為<JUNCTION>型,兩種類型的鏈接文件有顯著區別:


從最開始的 “ >dir C:\Users\wclu /a ” 可以看出,微軟自家使用的都是<JUNCTION>型,至于為何,留待考證。


四、鏈接文件的特性
剛剛講述了如何用 mklink 創建鏈接文件,那么接下來重點講述如何鏈接文件的特性,既然是特性,那就是與眾不同了。


符號鏈接文件自身不能被 “復制”(只能通過特殊方法才能復制)
當復制符號鏈接文件時,會將符號鏈接所鏈接的目標文件或目錄進行復制,并非是復制符號鏈接文件本身。
如何實現符號鏈接文件的復制呢?
>copy /?
/L           如果源是符號鏈接,請將鏈接復制
到目標而不是源鏈接指向的實際文件。


>xcopy /?      /B           對照鏈接目標復制符號鏈接本身


/* d:\1.txt 為<SYMLINK>型符號鏈接 */
E:\>xcopy d:\1.txt e:\1.txt /b
目標 E:\1.txt 是文件名
還是目錄名
(F = 文件,D = 目錄)? F
D:\1.txt
復制了 1 個文件


/* d:\a 為<JUNCTION>型符號鏈接 */
E:\>xcopy d:\a e:\a /B
目標 E:\a 是文件名
還是目錄名
(F = 文件,D = 目錄)? D
復制了 0 個文件


/* d:\b 為<SYMLINKD>型符號鏈接 */
E:\>xcopy d:\b e:\b /B
目標 E:\b 是文件名
還是目錄名
(F = 文件,D = 目錄)? D
復制了 0 個文件


E:\>dir e: /a
驅動器 E 中的卷是 data
卷的序列號是 FEEE-FB51


E:\ 的目錄




  1. 2009/06/11 10:00    <DIR>          $RECYCLE.BIN  

  2. 2009/06/11 13:33    <SYMLINK>      1.txt [c:\a\1.txt]  

  3. 2009/06/11 13:34    <DIR>          a  

  4. 2009/06/11 13:35    <SYMLINKD>     b [c:\a]  

  5. 2009/06/11 09:58    <DIR>          System Volume Information  

  6. 1 個文件              0 字節  

  7. 4 個目錄 31,362,203,648 可用字節  

可見采用xcopy命令并上參數 /B ,可以成功復制 <SYMLINK> 型的符號鏈接文件,而<JUNCTION>型鏈接卻不能被復制。


符號鏈接文件的透明性
符號鏈接的操作是透明的:對符號鏈接文件進行讀寫的程序會表現得直接對目標文件進行操作。
普通的文件操作命令(如cp、rm等)都能直接作用于符號鏈接。用于讀寫文件內容的命令將會直接訪問目標文件。


該文章在 2012/12/31 10:20:16 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved