سؤال "وصلة الدليل" مقابل "رابط رمزي للدليل"؟


في سياق NTFS:

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

/D      ينشئ رابط رمزي للدليل. الافتراضي هو ارتباط رمزي للملف.
/H      ينشئ رابطًا ثابتًا بدلاً من رابط رمزي.
/J      ينشئ تقاطع Directory.
Link    يحدد اسم الارتباط الرمزي الجديد.
Target  يحدد المسار (النسبي أو المطلق) الذي يشير إليه الارتباط الجديد.

  1. ليس وصلة الدليل نفس الشيء بالضبط دليل ارتباط رمزي؟

    ما الفرق بين mklink /D f1 f2 و mklink /J f1 f2 ؟

  2. بما أن "الدليل" هو في الواقع مجرد ملف، ما هو الفرق بين رابط رمزي للدليل والارتباط الرمزي للملف؟


344
2017-10-05 03:28


الأصل


ذات صلة: superuser.com/q/347930/24500 - surfasb


الأجوبة:


الوصل هو بالتأكيد ليس الشيء نفسه كدليل ارتباط رمزي ، على الرغم من أنهم يتصرفون بالمثل. الفرق الرئيسي هو أنه إذا كنت تبحث في خادم بعيد ، تتم معالجة الوصلات على الخادم و تتم معالجة الارتباطات الرمزية الدليل في العميل. انظر أيضا تعليق ماثيو على حقيقة أن هذا يعني أن الروابط الرمزية على نظام الملفات المحلي يمكن أن تشير إلى أنظمة الملفات عن بعد.

لنفترض أنه على جهاز يدعى أليس ، عليك وضع نقطة اتصال c:\myjp و رابط رمزي للدليل c:\mysymlinkوكلاهما يشير إلى c:\targetfolder. أثناء استخدامك لـ Alice لن تلاحظ فرقًا كبيرًا بينهما. ولكن إذا كنت تستخدم جهازًا آخر يدعى "بوب" ، فستكون نقطة التوصيل

\\Alice\c$\myjp سوف يشير إلى \\Alice\c$\targetfolder

لكن الرابط الرمزي

\\Alice\c$\mysymlink سوف يشير إلى \\Bob\c$\targetfolder

(التحذير: بشكل افتراضي ، لا يتبع النظام روابط رمزية على وحدات تخزين بعيدة ، لذلك في المثال الثاني سينتج المثال الثاني إما "لم يتم العثور على الملف" أو "لا يمكن اتباع الارتباط الرمزي بسبب تعطيل نوعه.")

الفرق بين ارتباط رمزي للدليل والارتباط الرمزي للملف هو ببساطة أن أحدهما يمثل دليلاً والآخر يمثل ملفًا. نظرًا لأن هدف الرابط لا يحتاج إلى الوجود عند إنشاء الرابط ، فإن نظام الملفات يحتاج إلى معرفة ما إذا كان سيتم إخبار التطبيقات أنه دليل أم لا.

وتجدر الإشارة أيضًا إلى أن إنشاء ارتباط رمزي يتطلب امتيازًا خاصًا (افتراضيًا ، متاح فقط للعمليات المرتفعة) بينما يتطلب إنشاء الوصلة فقط الوصول إلى نظام الملفات.


325
2017-10-22 19:03



فقط لتوضيح ذلك: قد تكون هناك اختلافات وظيفية أخرى بين وصلات الدليل والروابط الرمزية للدليل. الشيء البعيد مقابل المحلي هو فقط الأكثر وضوحا من وجهة نظر المستخدم (بدلا من المطور). - Harry Johnston
MatthewSteeples تقصد أنه إذا قمت بإنشاء ارتباط رمزي C:\testlink (مما يشير إلى C:\test على جهاز الكمبيوتر الخاص بي) ودخول شخص ما عن بعد إلى جهاز الكمبيوتر الخاص بي والنقر فوق C:\testlink، من شأنه أن يحل إلى C:\test على الكمبيوتر HIS ، بينما إذا كنت إنشاء تقاطع الدليل C:\testlink (مما يشير إلى C:\test على جهاز الكمبيوتر الخاص بي) ، ودخول شخص ما عن بعد إلى جهاز الكمبيوتر الخاص بي والنقر فوقه C:\testlink) سيقوده إلى C:\test على حاسوبي؟ أو هل فهمته بطريقة خاطئة؟ - Pacerier
@ Pacerier في هذا السياق نعم ، ولكن الروابط الرمزية تسمح لك أن يكون لديك مجلد على جهاز الكمبيوتر الخاص بك يشير إلى مشاركة شبكة (لأنه يتم حل جانب العميل). على سبيل المثال C: \ MyNetworkShare يمكن أن تشير بالفعل إلى \\ Alice \ Share - Matthew Steeples
MatthewSteeples لكن لم نتمكن من إنشاء رابط دليل C:\MyNetworkShare مما يشير إلى \\Alice\Share كذلك؟ - Pacerier
Pacerier ، لا ، يجب أن تكون نقاط الوصلات محلية. - Harry Johnston


نقاش معقد يجرح الدماغ - أحب المخططات:

افترض أي 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 - إذا قمت بإلغاء حظر الوصول إلى روابط رمزية عن بعد على جهازك المحلي ، فإن هذا سيعمل ... ولكن فقط على الجهاز المحلي حيث تم إلغاء حظره


44
2018-02-02 16:30



هذا غريب جدا. حتى الروابط الرمزية النسبية لا تعمل عن بُعد. مثلا أنا خلقت دليل d:\_tmp\data. أنشئ رابطًا مثل: d:\_tmp>mklink /d data-link data. المستخدم عن بعد لديه حق الوصول الكامل إلى d:\_tmp وجميع المجلدات الفرعية الخاصة به ولكن لا يزال غير قادر على فتح d:\_tmp\data-link. - Nux
هذا لأنه عندما يتم تقييم ارتباط رمزي من جانب العميل ، فإنه يشير إلى d: \ _ tmp \ data على العميل ، وليس الخادم. - apraetor
أعتقد أن سبب كونه غريبًا واضحًا. لكنني أتفق مع @ nux أنها غريبة ، على الأقل في حالة الروابط النسبية. - Jon Coombs


كنت تحت الانطباع بأن التقاطعات كانت متواجدة للأسباب الموروثة وكانت الروابط الرمزية أفضل تمامًا (تظهر الأشياء بهذه الطريقة بالقيمة الاسمية). اتضح ، هذا ليس صحيحا تماما. هناك بعض الأسباب الوجيهة لاستخدام وصلة بدلا من رابط رمزي. الفرق الرئيسي يأتي إلى الأمن والمسارات البعيدة مقابل المحلية. نعم ، يجعل الاستهداف عن بُعد الروابط الرمزية أكثر فاعلية ، ولكنه يرفع أيضًا الملف الشخصي للأمان. لذا ، إذا كنت تريد رابطًا محليًا ويمكن أن تعيش مع مسار مطلق ، فربما تكون أفضل حالًا عند وجود مفترق طرق ؛ وإلا فكر في ارتباط رمزي لقدراته المضافة.

enter image description here

** بيان الاختلاف في السرعة / التعقيد يأتي من بيان لم يتم التحقق منه في دخول ويكيبيديا على نقاط إعادة التوزيع NTFS (قراءة جيدة).*


غيرها من NTFS رابط المقارنات

فيما يلي بعض المقارنات الأخرى حول هذا الموضوع ، ولكن يمكن أن تكون هذه مضللة عند النظر في التقاطعات لأنها لا تدرج الفوائد المذكورة أعلاه.

مأخوذة من هنا (قراءة تمهيدية جيدة)

enter image description here

من عند صفحة SS64 على MKLink

enter image description here


تعليقات حول المصطلحات

الوصلات هي روابط رمزية

تقوم الوصلات والروابط الرمزية بذات الشيء بنفس الطريقة (نقاط إعادة التوزيع) ، بغض النظر عن الاختلافات المذكورة في كيفية معالجتها. في الواقع ، تقاطعًا ، هو رابط رمزي ، وأحيانًا قد تستدعي الوثائق رابطًا تفاعليًا ، كما هو الحال هنا. إذن ، هذا شيء يجب أن تدركه فيما يتعلق بالمصطلحات.

NTFS

على الرغم من أن البروتوكول الاختياري يحدد هذا ، تجدر الإشارة إلى أن "الارتباط الرمزي" هو مصطلح عام جدًا لا يتعلق بـ NTFS. لذلك ، لتكون محددة ، هذه المقارنة حول تقاطعات NTFS مقابل الارتباطات NTFS Symbolic.


23



أي شخص اختبر سرعة معالجة الوصلات مقابل الروابط الرمزية؟ - 1000Gbps
كان إيجابيات وسلبيات المخطط مفيدة للغاية ، شكرا لك! - GordonM