"निर्देशिका जंक्शन" बनाम "निर्देशिका प्रतीकात्मक लिंक"?


392

NTFS के संदर्भ में:

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

/D एक निर्देशिका प्रतीकात्मक लिंक बनाता है। डिफ़ॉल्ट एक फ़ाइल प्रतीकात्मक लिंक है।
/H प्रतीकात्मक लिंक के बजाय एक कठिन लिंक बनाता है।
/J एक निर्देशिका जंक्शन बनाता है।
Link नया प्रतीकात्मक लिंक नाम निर्दिष्ट करता है।
Target वह पथ (सापेक्ष या निरपेक्ष) निर्दिष्ट करता है जिसे नया लिंक संदर्भित करता है।

  1. क्या कोई डायरेक्टरी जंक्शन नहीं है जो एक डायरेक्ट्री सिम्बोलिक लिंक के समान है ?

    बीच क्या अंतर है mklink /D f1 f2और mklink /J f1 f2?

  2. चूंकि "निर्देशिका" वास्तव में सिर्फ एक फ़ाइल है , इसलिए एक निर्देशिका प्रतीकात्मक लिंक और एक फ़ाइल प्रतीकात्मक लिंक के बीच क्या अंतर होगा?


2
सम्बंधित: superuser.com/q/347930/24500
surfasb

जवाबों:


364

एक जंक्शन निश्चित रूप से एक निर्देशिका प्रतीकात्मक लिंक के रूप में एक ही बात नहीं है, हालांकि वे समान व्यवहार करते हैं। मुख्य अंतर यह है कि, यदि आप एक दूरस्थ सर्वर को देख रहे हैं, तो सर्वर पर जंक्शनों को संसाधित किया जाता है और क्लाइंट पर निर्देशिका प्रतीकात्मक लिंक संसाधित किए जाते हैं । मैथ्यू की टिप्पणी को इस तथ्य पर देखें कि इसका मतलब है कि स्थानीय फ़ाइल सिस्टम पर प्रतीकात्मक लिंक दूरस्थ फ़ाइल सिस्टम को इंगित कर सकते हैं।

मान लीजिए कि ऐलिस नामक एक मशीन पर आपको एक जंक्शन बिंदु c:\myjpऔर एक निर्देशिका प्रतीकात्मक लिंक डालना था c:\mysymlink, दोनों की ओर इशारा करते हुए c:\targetfolder। जब आप ऐलिस का उपयोग कर रहे हैं तो आप उनके बीच बहुत अंतर नहीं देखेंगे। लेकिन अगर आप बॉब नाम की किसी अन्य मशीन का उपयोग कर रहे हैं, तो जंक्शन बिंदु

\\Alice\c$\myjp को इंगित करेगा \\Alice\c$\targetfolder

लेकिन प्रतीकात्मक लिंक

\\Alice\c$\mysymlink को इंगित करेगा \\Bob\c$\targetfolder

(चेतावनी: डिफ़ॉल्ट रूप से, प्रणाली दूरस्थ वॉल्यूम पर सिमलिंक का पालन नहीं करता है, तो ज्यादातर मामलों में दूसरे उदाहरण वास्तव में परिणाम होगा "फ़ाइल नहीं मिली" या "। प्रतीकात्मक कड़ी क्योंकि इसके प्रकार अक्षम किया गया है का पालन नहीं किया जा सकता है" )

एक निर्देशिका प्रतीकात्मक लिंक और एक फ़ाइल प्रतीकात्मक लिंक के बीच का अंतर केवल इतना है कि एक निर्देशिका का प्रतिनिधित्व करता है और एक फ़ाइल का प्रतिनिधित्व करता है। चूंकि लिंक बनाए जाने पर लिंक के लक्ष्य को मौजूद होने की आवश्यकता नहीं होती है, फ़ाइल सिस्टम को यह जानना होगा कि अनुप्रयोगों को बताना है कि यह एक निर्देशिका है या नहीं।

यह भी ध्यान दिया जाना चाहिए कि एक प्रतीकात्मक लिंक बनाने के लिए विशेष विशेषाधिकार की आवश्यकता होती है (डिफ़ॉल्ट रूप से, केवल उन्नत प्रक्रियाओं के लिए उपलब्ध) जबकि जंक्शन बनाने के लिए केवल फ़ाइल सिस्टम तक पहुंच की आवश्यकता होती है।


13
बस स्पष्ट होने के लिए: निर्देशिका जंक्शनों और निर्देशिका प्रतीकात्मक लिंक के बीच अच्छी तरह से अन्य उप-प्रकार के कार्यात्मक अंतर हो सकते हैं। दूरस्थ बनाम स्थानीय चीज़ उपयोगकर्ता से सबसे स्पष्ट है (जैसा कि एक डेवलपर के विपरीत) परिप्रेक्ष्य।
हैरी जॉनसन

12
@MatthewSteeples का मतलब है कि अगर मैं एक प्रतीकात्मक लिंक C:\testlink(जो C:\testमेरे कंप्यूटर पर इंगित करता है ) बनाऊं और कोई व्यक्ति मेरे कंप्यूटर पर रिमोट एक्सेस करे और उस पर क्लिक करे C:\testlink, तो यह C:\testHIS कंप्यूटर पर हल करेगा , यदि मैं एक निर्देशिका जंक्शन बनाता हूं C:\testlink(जो कि बिंदुओं को इंगित करता है) C:\testमेरे कंप्यूटर पर), और कोई व्यक्ति मेरे कंप्यूटर को एक्सेस करता है और उस पर क्लिक करता है C:\testlink) यह उसे C:\testमेरे कंप्यूटर पर ले जाएगा ? या मैंने इसे गलत तरीके से गोल किया?
पचेरियर

9
इस संदर्भ में @ स्पेसर हाँ, लेकिन प्रतीकात्मक लिंक आपको अपने कंप्यूटर पर एक फ़ोल्डर रखने की अनुमति देते हैं जो एक नेटवर्क साझा करने के लिए इंगित करता है (क्योंकि वे ग्राहक पक्ष को हल कर रहे हैं)। Eg C: \ MyNetworkShare वास्तव में \\ ऐलिस \ Share
मैथ्यू Steeples

6
@MatthewSteeples लेकिन क्या हम एक निर्देशिका जंक्शन नहीं बना सकते हैं, C:\MyNetworkShareजो इंगित \\Alice\Shareकरता है?
पचेरियर

8
@ स्पेसर, नहीं, जंक्शन बिंदुओं को स्थानीय होना चाहिए।
हैरी जॉनसन

55

जटिल बात दिमाग को चोट पहुँचाती है - मुझे चार्ट पसंद है:

मान लें कि कोई भी MyLinkप्रतीकात्मक लिंक है और कोई भी MyJuncएक जंक्शन है जो इंगित करता है Target as created

जैसे

mklink /D MyLink C:\T_Dir लक्ष्य निर्देशिका के लिए एक प्रतीकात्मक लिंक बनाने के लिए

mklink /J MyJunc C:\T_Dir लक्ष्य निर्देशिका के लिए एक निर्देशिका जंक्शन बनाने के लिए

जहां सिंटैक्स mklink [/J,/D] [link path] [target path]स्थानीय मशीन पर टाइप किया गया है


 link path    |   target path   |         When accessed ..
              |                 |  (locally)    |    (remotely)
              |                 |               |
C:\MyLink     |   C:\T_Dir      |  C:\T_Dir     |  [leads back to local]
C:\MyJunc     |   C:\T_Dir      |  C:\T_Dir     |  [leads to remote]
              |                 |
\\Svr\MyLink  |   C:\T_Dir      |   C:\T_Dir    |  [leads back to local]
\\Svr\MyJunc  |   C:\T_Dir      |  *** Must create and point local ***
              |                 |
C:\MyLink     |  \\Sv2\T_Dir    |  \\Sv2\T_Dir  |   Error*1
C:\MyJunc     |  \\Sv2\T_Dir    |  *** Error - Must point local ***
              |                 |
\\Svr\MyLink  |  \\Sv2\T_Dir    |  Error*1
\\Svr\MyJunc  |  \\Sv2\T_Dir    |  *** Must create link using target device ***

त्रुटि * 1 - यदि आपने अपनी स्थानीय मशीन पर दूरस्थ प्रतीकात्मक लिंक तक पहुंच को अनब्लॉक किया है, तो यह काम करेगा .. लेकिन केवल स्थानीय मशीन पर जहां अनब्लॉक किया गया है


3
यह कितना अजीब है। यहां तक ​​कि रिश्तेदार प्रतीकात्मक लिंक दूर से काम नहीं करते हैं। जैसे मैं एक निर्देशिका बनाता हूं d:\_tmp\data। लिंक बनाएं जैसे d:\_tmp>mklink /d data-link data:। रिमोट उपयोगकर्ता की पूरी पहुँच है d:\_tmpऔर उसके सभी सबफ़ोल्डर BUT वह अभी भी नहीं खोल पाएंगे d:\_tmp\data-link
नक्स

4
ऐसा इसलिए है क्योंकि जब कोई प्रतीकात्मक लिंक क्लाइंट-साइड का मूल्यांकन करता है तो यह क्लाइंट पर d: \ _ tmp \ data की ओर इशारा करता है, न कि सर्वर पर।
अपराह्न

मुझे लगता है कि इसका कारण अजीब है। लेकिन मैं @ नक्स से सहमत हूं कि यह अजीब है, कम से कम रिश्तेदार सिम्बलिंक्स के मामले में।
जॉन कोम्ब्स

Complex talk hurts brain -- I like chartsमुझे यह वाक्य पसंद है, और चार्ट भी।
ल्यूक

46

प्रतीकात्मक लिंक में अधिक कार्यक्षमता होती है, जबकि जंक्शनों को लगभग उनकी सीमाओं के कारण एक विरासत विशेषता लगती है, लेकिन इन सीमाओं के सुरक्षा निहितार्थ विशेष रूप से हैं क्यों एक प्रतीकात्मक लिंक पर जंक्शन पसंद किया जा सकता है। रिमोट टार्गेटिंग प्रतीकात्मक लिंक को अधिक कार्यात्मक बनाता है, लेकिन उनकी सुरक्षा प्रोफ़ाइल को भी बढ़ाता है, जबकि जंक्शनों को सुरक्षित माना जा सकता है क्योंकि वे स्थानीय रास्तों के लिए विवश हैं । इसलिए, यदि आप एक स्थानीय लिंक चाहते हैं और एक पूर्ण मार्ग के साथ रह सकते हैं, तो आप संभवतः जंक्शन के साथ बेहतर हो सकते हैं; अन्यथा, इसकी अतिरिक्त क्षमताओं के लिए एक प्रतीकात्मक लिंक पर विचार करें।

यहां छवि विवरण दर्ज करें

** गति / जटिलता में अंतर का बयान एनटीएफएस पुनर्मिलन अंक (एक अच्छा पढ़ा) पर विकिपीडिया प्रविष्टि में असत्यापित कथन से आता है । *


अन्य NTFS लिंक तुलना

यहां विषय पर कुछ अन्य तुलनाएं हैं, लेकिन जंक्शनों पर विचार करते समय ये भ्रामक हो सकते हैं क्योंकि वे मेरे द्वारा ऊपर सूचीबद्ध लाभों को सूचीबद्ध नहीं करते हैं।

यहाँ से लिया (एक अच्छा परिचयात्मक पढ़ा)

यहां छवि विवरण दर्ज करें

MK64 पर SS64 पेज से

यहां छवि विवरण दर्ज करें


शब्दावली के बारे में टिप्पणियाँ

जंक्शन प्रतीकात्मक लिंक हैं

जंक्शन और सिम्बोलिक लिंक वास्तव में एक ही तरीके से काम कर रहे हैं (पीछे के बिंदु), उपरोक्त प्रक्रिया से अलग कैसे वे संसाधित होते हैं। वास्तव में, तकनीकी रूप से, एक जंक्शन एक प्रतीकात्मक लिंक है, और कभी-कभी प्रलेखन एक जंक्शन को एक प्रतीकात्मक लिंक कह सकता है, जैसा कि यहां है । इसलिए, यह शब्दावली के संबंध में जागरूक होने के लिए बस कुछ है।

NTFS

भले ही ओपी इसे निर्दिष्ट करता है, यह इंगित करने योग्य है कि "प्रतीकात्मक लिंक" एक बहुत ही सामान्य शब्द है जो NTFS के लिए विशिष्ट नहीं है। तो, विशिष्ट होने के लिए, यह तुलना NTFS जूनैक्ट्स बनाम NTFS प्रतीकात्मक लिंक के बारे में है।


3
किसी ने भी जुनूनी बनाम प्रतीकात्मक लिंक की प्रसंस्करण गति का परीक्षण किया?
1000Gbps 13

पेशेवरों / विपक्ष चार्ट बहुत उपयोगी था, धन्यवाद!
गॉर्डन मे
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.