2012-01-28 160 views

回答

33

的地方,我覺得最有用的區別:

http://blogs.msdn.com/b/junfeng/archive/2006/04/15/576568.aspx

http://www.hanselman.com/blog/MoreOnVistaReparsePoints.aspx

公設:符號鏈接是在Windows中作爲Symlink的連接是在Unix中的硬連接。

​​

的Windows 7和Windows Vista同時支持文件和目錄的命令行實用程序mklink符號鏈接。與連接點不同,符號鏈接也可以指向文件或遠程服務器消息塊(SMB)網絡路徑。另外,NTFS符號鏈接實現提供對跨文件系統鏈接的全面支持。但是,啓用跨主機符號鏈接的功能要求遠程系統也支持它們,這有效地限制了對Windows Vista及更高版本Windows操作系統的支持。

http://www.tuxera.com/community/ntfs-3g-advanced/junction-points-and-symbolic-links/

的符號鏈接,如Windows中創建的,是非常類似於目錄連接,但不同的目錄結它可以指向一個文件或遠程網絡文件或目錄。目標可以被定義爲相對於符號鏈接位置的路徑,或者當前卷或另一個路徑中的絕對路徑。還要注意,文件的符號鏈接與目錄的符號鏈接不同,目標必須與定義相匹配。

+1

對於Windows 7的具體信息:http://msdn.microsoft.com/en-us/library/windows/desktop/aa365006(v=vs.85).aspx – 2014-09-05 13:09:29

+10

接受的答案已經三年了,但我想指出的是,在引用的假設中暗示,NFTS聯結點不會與Unix中的硬鏈接相比較。這應該是顯而易見的,因爲連接點不能引用文件,而是硬鏈接。 NTFS也支持硬鏈接(與連接點不同),這些鏈接或多或少與Unix硬鏈接相似。 – elgonzo 2015-05-28 20:30:02

+0

@elgonzo完全同意。 AFAIK Unix硬鏈接只能引用一個文件,所以它看起來不像NTFS目錄連接。 – 2017-11-20 21:12:48

4

最近在Windows中引入了符號鏈接:從Vista開始。

不應將符號鏈接視爲現有NTFS「重新解析點」技術的替代方案。

微軟解釋說,符號鏈接的唯一目的是與Unix更加兼容。

MSDN:「符號鏈接已經被設計在遷移和與UNIX Microsoft應用程序的兼容性,以幫助實施了它的符號鏈接功能類似於UNIX鏈接。」

Vista中也是firt操作系統使用鏈接來實現自己的功能。爲了與傳統文件夾名稱兼容,C:\Documents and Settings現在是C:\Users的鏈接。有趣的是,儘管Vista引入了Symbolic鏈接,但這個「Documents and Settings」技巧實際上是一個普通的舊連接。

+1

這個答案沒有提到任何關於符號鏈接和連接點之間的區別。 (因此,我不認爲它真的適用於這個問題) – 2012-05-02 18:33:32

+0

從Windows Vista開始符號鏈接替換連接(也如我們所知,這兩個都是重新分析點) – Aravind 2013-06-04 07:40:23

14

在功能上,在windows中,一旦創建,就沒有真正的區別。然而,他們在做什麼之間存在顯着差異。只有在相同驅動器或不同驅動器上,但只有當這些驅動器位於本地系統上時,連接才能用於創建到文件夾的鏈接(不能通過網絡創建到文件夾的連接鏈接。)符號鏈接但是,沒有相同的限制。符號鏈接可用於鏈接到文件或文件夾,這些文件或文件夾可位於同一系統(相同驅動器或不同驅動器)或網絡共享位置,並可使用相對位置符號(「\\ system2 \ Foldera \ file.txt「,」d:\ foldera \ file.txt「,」\\ system2 \ foldera「,」d:\ foldera「或」d:\ foldera \ folderb ..「 )相對位置符號可以是「。」,「..」,當前驅動器相對功能(如果當前驅動器是c :,則指定「\ tempa \ folderb」結果鏈接到c:\ (如果當前目錄是d:\ foldera \ folderb,則指定「d:file.txt」會導致到d:\ foldera \ folderb \ file.txt的鏈接)。

總結:連接點僅限於本地系統上的文件夾,而符號連接可以創建鏈接到f可以通過UNC路徑或在本地系統訪問的舊文件或文件,這些位置的指定方式更具多功能性。符號鏈接基本上是用於連接點和硬鏈接的更多功能的替代品。此外,符號鏈接在創建跨平臺UNC路徑鏈接時與Unix和Linux兼容。

希望這能以令人滿意的方式回答你的問題。 編輯以糾正印刷錯誤。

7

鏈接外殼擴展,http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html,是一個偉大的工具,用於創建和查看多種鏈接。它也有很好的文檔。

[完整安裝後,如果您正在查看高級鏈接,它會添加新的屬性選項卡。還爲各種鏈接類型添加圖標疊加箭頭 - 滾動到常見問題部分(如果這些部分不顯示); Windows僅支持十三個疊加層;他顯示了一個註冊表解決方法。它的信息有用性的一個例子:試圖獲得你認爲是一個文件夾的權限,但實際上是系統提供的Junction Link,通常用於與舊版本的Windows兼容。]

Junctions and Symbolic當爲本地系統上的目錄創建鏈接時,鏈接的作用基本相同。

但是:

它們在網絡上的行爲不同。此鏈接描述此行爲:https://superuser.com/questions/343074/directory-junction-vs-directory-symbolic-link

如果您將Junction Links看作「愚弄操作系統的位置的快捷方式」,那麼您會很好地使用它們的明喻以及它們的作用。主要區別在於,如果您複製符號鏈接或連接,它將複製目標,而不是像快捷方式那樣僅包含指針的文件。與快捷方式一樣,您可以刪除符號鏈接或連接鏈接而不移除目標文件/文件夾。 [硬鏈接,該文件僅在刪除最後一個鏈接時被刪除 - 包括從回收站中刪除。查看LSE中的屬性標籤,查看任何這些鏈接以查看硬鏈接的目標或引用計數。]

硬鏈接或快捷方式是唯一可以移動的鏈接類型,不會像打破或複製整個目標。移動目標總是會斷開鏈接,儘管它們可以很容易地在屬性標籤(用LSE顯示)中更新,或者用LSE重新創建(如果複雜)。

創建符號鏈接需要管理員權限,而連接不需要。這加上Junctions的廣泛的內部操作系統使用表明Windows以直觀,預期的方式處理它們。 [對系統文件夾中的意外副作用(來自Win 10的經驗)有所警惕。]

[Link Shell Extension的某些備份特定功能非常有用 - 簡而言之,它可以創建多種類型標準文件夾中的可更新符號鏈接結構,用於等待備份目的。]

+0

您能否縮小您的答案? – manetsus 2016-04-02 16:45:20

+0

這是一個很好的答案....縮小,爲什麼?這是唯一的答案,似乎來自個人的知識/經驗,而不是谷歌的簡介。 – u8it 2016-10-14 16:34:36

+0

和鏈接外殼擴展看起來像一個偉大的工具。還有一個相關的輕量級實用程序叫做[ln.exe](http://schinagl.priv.at/nt/ln/ln.html#deloreancopy)...即使你不使用它,你也會學習很多隻是通過閱讀網站的簡單用戶指南。 – u8it 2016-10-14 16:39:43

7

我的印象是,聯結只是出於傳統原因,符號鏈接總體上更好(事物以這種方式以表面值出現)。原來,這並不完全正確。有一些很好的理由使用交匯點而不是符號鏈接。 主要區別歸結於安全性和遠程與本地路徑。是的,遠程定位使符號鏈接功能更強大,但也提高了安全性。所以,如果你想要一個本地鏈接並且能夠擁有一條絕對的路徑,那麼你可能更適合一個路口;否則,考慮一個符號鏈接來增加它的能力。

enter image description here

**在速度上的差異聲明/複雜性來自於Wikipedia entry on NTFS reparse points(很好看的)未驗證的聲明。*


其他NTFS鏈接比較

以下是有關該主題的其他一些比較,但在考慮路口時可能會產生誤導,因爲它們沒有列出上面列出的好處。

Taken from here(一個很好的入門讀)

enter image description here

SS64 page on MKLink

enter image description here


有關術語

評論

路口符號鏈接

路口和符號鏈接是真正做同樣的事情以同樣的方式(重新分析點),除了在他們是如何處理上述的差異。事實上,在技術上,連接點是一個符號鏈接,有時文檔可能會將連接點稱爲符號鏈接,as is the case here。所以,這只是關於術語的一些事情。

NTFS

即使OP指定此,值得指出的是「符號鏈接」是一個通用詞,不是特定爲NTFS。因此,具體而言,這種比較是關於NTFS連接與NTFS符號連接的比較。

相關問題