الرابط الرمزي
في مجال الحوسبة ، الرابط الرمزي ( أو الرابط اللين ) هو ملف حاسوبي خاص يشير إلى ملف أو مجلد آخر عن طريق تخزين مسار إليه، [ 1 ] مما يوفر مسار وصول بديل دون تكرار محتوى الملف أو المجلد المستهدف. قد تتعامل التطبيقات التي تستخدم خدمات نظام التشغيل مع الرابط الرمزي كما تتعامل مع الملفات أو المجلدات الأخرى، ولن تدرك أنه رابط رمزي إلا إذا فحصت طبيعته. يتعطل الرابط الرمزي إذا تم نقل الملف أو المجلد المستهدف.
تدعم أنظمة التشغيل الشبيهة بنظام يونكس وأنظمة مايكروسوفت ويندوز الروابط الرمزية ، على الرغم من أنها تفرض قيودًا متفاوتة عليها. وتشمل البدائل للروابط الرمزية الروابط الصلبة وملفات الاختصارات وكائنات واجهة سطر الأوامر في ويندوز .
ملخص
الرابط الرمزي هو ملف مستقل يخزن مسارًا في نظام الملفات ، ويُعامل، باستثناء حالات خاصة، على أنه عنصر نظام الملفات الذي يشير إليه المسار: الهدف . إذا حُذف الرابط الرمزي، فلن يتأثر هدفه. وإذا نُقل الهدف أو أُعيد تسميته أو حُذف، فلن يُحدَّث الرابط الرمزي أو يُحذف تلقائيًا. سيشير مسار هدفه إلى لا شيء، وقد يُوصف بأنه معطوب أو يتيم أو غير فعال أو معلق . يختلف الرابط الرمزي عن الرابط الصلب . لا يمكن للأخير أن يرتبط بهدف على وحدة تخزين أو نظام ملفات مختلف، بينما يمكن للأول ذلك. يشير الرابط الصلب دائمًا إلى هدف موجود، بينما قد يكون الرابط الرمزي مسارًا إلى لا شيء.
تم تقديم الروابط الرمزية في عام 1982 في نظام التشغيل بي إس دي يونكس 4.1a . [ 2 ] يُعرّف معيار POSIX الرابط الرمزي كما هو موجود في معظم أنظمة التشغيل الشبيهة بيونكس ، مثل فري بي إس دي ولينكس وماك أو إس . دعم نظام CTSS على جهاز IBM 7090 الملفات المرتبطة بالاسم في عام 1963. [ 3 ] [ 4 ] [ 5 ] بحلول عام 1978، تم دعم بعض الروابط الرمزية في أنظمة تشغيل الحواسيب الصغيرة من شركة دي إي سي ، ونظام التشغيل RDOS من شركة داتا جنرال .
يمكن تنفيذ الروابط الرمزية بطريقة تعتمد على السياق أو بطريقة متغيرة، بحيث يشير الرابط إلى وجهات مختلفة بناءً على معلمات التكوين أو معلمات وقت التشغيل أو أي شرط لحظي آخر. يحتوي الرابط الرمزي المتغير أو المتنوع على اسم متغير (مثل اسم المستخدم أو معلومات خاصة بالبيئة) مُضمن في تعريف مساره، مما يتيح مرونة غير ممكنة مع الرابط الرمزي القياسي. تدعم أنظمة NetBSD و DragonFly BSD و Domain/OS هذه الروابط. [ 6 ] [ 7 ] [ 8 ] يستخدم Tru64 رابطًا رمزيًا يعتمد على السياق ، حيث يكون السياق هو رقم عضو المجموعة. يدعم نظام التشغيل OSx من Pyramid Technology الروابط الرمزية المشروطة . [ 9 ]
تُستخدم الروابط الرمزية المذكورة آنفًا، والتي تعتمد على السياق، لإعادة هيكلة تسلسل نظام الملفات، مما يسمح ببنية دليل أكثر سهولة أو ملاءمة للتطبيقات، وإعادة تنظيم نظام الملفات دون إعادة تصميم وظائف النظام الأساسية وأدواته. وبسبب طبيعتها، تجعل ميزة الروابط الرمزية نظام الملفات الهرمي أشبه برسم بياني موجه بدلًا من شجرة ، وهو ما قد يؤثر على عمليات بسيطة. على سبيل المثال، قد لا يكون الانتقال إلى المجلد الأصل للمجلد موثوقًا به مع الروابط الرمزية. تحاول بعض واجهات أوامر يونكس، بشكل استدلالي، الحفاظ على وهم التسلسل الهرمي الشجري، لكن هذا يؤدي إلى إنتاج نتائج مختلفة مقارنةً بالبرامج الأخرى التي تتعامل مع المسارات دون هذه الاستدلالات، معتمدةً على نظام التشغيل. [ 8 ]
كان لدى نظام التشغيل Windows 95 أيضًا مشكلة مماثلة تتعلق بسهولة الاستخدام، ولكن بدلاً من اعتماد الروابط الرمزية، قام بإنشاء واجهة Windows ، والمجلدات الخاصة ، وملفات الاختصارات (انظر § البدائل لمزيد من التفاصيل).
شبيهة بنظام يونكس
يستخدم
في نظام تشغيل شبيه بنظام يونكس ، يمكن lnلأمر الصدفة إنشاء رابط صلب (عبر دالة link()API ) [ 10 ] أو رابط رمزي (عبر symlink()الدالة). [ 11 ] صيغة الأمر لإنشاء رابط رمزي هي كما يلي:
ln -s "<مسار الهدف>" "<مسار الرابط>"من الناحية المثالية، ينبغي أن يكون الهدف موجودًا، على الرغم من أنه يمكن إنشاء رابط رمزي لهدف غير موجود.
يقوم المثال التالي بإنشاء ملف فارغ يسمى "foo"، ثم يقوم بإنشاء رابط رمزي يسمى "bar" يشير إلى "foo".
$ touch foo $ ln -s foo bar تتعامل معظم العمليات مع الرابط كاسم بديل للملف الهدف. على سبيل المثال، تصل أوامر سطر الأوامر التي تصل إلى محتوى الملف إلى محتوى الملف الهدف. لكن عمليات إدارة الملفات قد تعمل على الرابط أو الملف الهدف. تنطبق واجهات برمجة التطبيقات [12]lstat() و [ 13 lchown()] و [ 14 readlink()] مباشرةً على ملف الرابط، وليس على الملفات الهدف. يمكن لتطبيق (مثل تطبيق lsأو ) استخدام بدلاً من لتمييز الروابط الرمزية والإبلاغ عنها بدلاً من الملفات الهدف. ولأن وظائف واجهة برمجة التطبيقات و مُبرمجة للعمل على الروابط الرمزية، فإن أوامر و (التي تستخدم واجهات برمجة التطبيقات هذه) تؤثر على الرابط الرمزي نفسه. يحتوي الأمر على خيارات تسمح بنسخ الرابط الرمزي أو الملف الهدف.findlstat()stat()rename()unlink()rmmvcp
يُمكن لهذا ls -lالأمر الكشف عن وجهة الرابط الرمزي. يُظهر الناتج اسم الرابط، متبوعًا بعلامة ->، ثم وجهة الرابط. في هذا المثال، lsيكشف الأمر عن الرابط الرمزي الذي أنشأه المثال السابق.
$ ls -l bar lrwxrwxrwx 1 مستخدم مجموعة 3 أغسطس 4 18:40 bar -> fooتخزين
في الإصدارات الأولى، كان مسار الرابط يُخزَّن في ملف عادي. يحتوي هذا الملف على المسار المستهدف كنص، وتُشير بتات وضع الملف إلى أنه رابط رمزي. يُعرَض حجم هذا الرابط الرمزي بعدد الأحرف في المسار الذي يُشير إليه. لا تُستخدم أذونات نظام الملفات للرابط الرمزي؛ إذ تُتحكَّم أوضاع الوصول إلى الملف المستهدف بواسطة أذونات الملف المستهدف نفسه. ( يمكن لأنظمة FreeBSD و NetBSD و DragonFly BSD و macOS تعديل أذونات وخصائص الملف للرابط الرمزي، من خلال واجهات برمجة التطبيقات lchmod()[ 15 ] [ 16 ] [ 17 ] [ 18 ] و lchflags()[ 19 ] [ 20 ] [ 21 ] [ 22 ] على التوالي).
لتحسين مساحة التخزين والأداء، سمح الربط الرمزي السريع بتخزين مسار الوجهة ضمن هياكل البيانات المستخدمة لتخزين معلومات الملفات على القرص ( العقد ). تخزن هذه المساحة قائمة بعناوين كتل القرص المخصصة للملف. وبالتالي، يتم الوصول إلى الروابط الرمزية ذات مسارات الوجهة القصيرة بسرعة. غالبًا ما تعود الأنظمة التي تستخدم الروابط الرمزية السريعة إلى استخدام الطريقة الأصلية إذا تجاوز مسار الوجهة مساحة العقد المتاحة. أُطلق على الأسلوب الأصلي لاحقًا اسم " الربط الرمزي البطيء" . كما يُستخدم أيضًا لضمان توافق القرص مع إصدارات أخرى أو أقدم من أنظمة التشغيل.
على الرغم من أن تخزين قيمة الرابط داخل عقدة البيانات (inode) يوفر مساحة على القرص وعملية قراءة منه، إلا أن نظام التشغيل لا يزال بحاجة إلى تحليل اسم المسار في الرابط، الأمر الذي يتطلب دائمًا قراءة عقد بيانات إضافية، وعادةً ما يتطلب قراءة مجلدات أخرى، وربما العديد منها، ومعالجة كل من قائمة الملفات وعقد البيانات الخاصة بكل منها حتى يعثر على تطابق مع مكونات مسار الرابط. فقط عندما يشير الرابط إلى ملف في نفس المجلد، توفر "الروابط الرمزية السريعة" أداءً أفضل بكثير من الروابط الرمزية الأخرى.
استخدامات أخرى
يقوم نظام systemd بإنشاء روابط رمزية معلقة عمدًا لتخزين البيانات على شكل أزواج مفتاح-قيمة عندما تكون القيمة صغيرة بما يكفي. اسم الرابط الرمزي هو المفتاح، ومسار الوجهة هو القيمة. والسبب في ذلك هو أنه بدلًا من استدعاءين للنظام للقراءة وثلاثة استدعاءات للكتابة، سيتطلب الأمر استدعاءً واحدًا فقط للقراءة واستدعاءين للكتابة. [ 23 ]
ويندوز
يدعم نظام التشغيل مايكروسوفت ويندوز الروابط الرمزية في أنظمة الملفات NTFS و ReFS ، بالإضافة إلى مساحة اسم نواة ويندوز.
نقاط ربط نظام الملفات NTFS ونقاط تثبيت وحدات التخزين
ابتداءً من نظام التشغيل ويندوز 2000، يدعم نظام الملفات NTFS نقاط الربط، [ 24 ] والمعروفة أيضًا بالروابط اللينة. [ 25 ] تشبه نقاط الربط الروابط الرمزية، ولكنها تربط فقط بالمجلدات الأخرى، وليس بالملفات. ويتم تنفيذها عبر نقاط إعادة التحليل في نظام NTFS . [ 25 ] يدعم نظاما التشغيل ويندوز 7 وفيستا 31 نقطة إعادة تحليل كحد أقصى لمسار معين (أي أن أي مسار معين يمكن أن يحتوي على 31 عملية إعادة توجيه كحد أقصى قبل أن يتوقف نظام ويندوز عن المعالجة). [ 26 ]
ابتداءً من عام 2000، يدعم نظام الملفات NTFS نقاط ربط وحدات التخزين. عادةً ما تُخصص أحرف محركات الأقراص لوحدات تخزين نظام ويندوز . تعمل نقاط ربط وحدات التخزين كرابط رمزي إلى جذر وحدة تخزين أخرى غير مخصصة لها أحرف محركات الأقراص.
رابط رمزي NTFS
أضاف الإصدار 3.1 من نظام الملفات NTFS دعمًا للروابط الرمزية. وقد طبّق نظام التشغيل Windows XP هذا الإصدار جزئيًا، متجاهلًا الروابط الرمزية. لذا، يلزم وجود برنامج تشغيل خارجي لتفعيل دعم الروابط الرمزية في نظام NTFS على نظام Windows XP. [ 27 ] أما نظاما التشغيل Windows Vista والإصدارات الأحدث فقد فعّلا دعم الروابط الرمزية. [ 28 ] وعلى عكس نقاط الربط في نظام NTFS ، يمكن للرابط الرمزي أن يشير إلى ملف أو مسار شبكة SMB عن بُعد . بالإضافة إلى ذلك، يوفر تطبيق الروابط الرمزية في نظام NTFS دعمًا كاملًا للروابط بين وحدات التخزين . ومع ذلك، تتطلب وظيفة تفعيل الروابط الرمزية بين الأجهزة أن يدعمها النظام البعيد أيضًا.
صُممت الروابط الرمزية لتسهيل عملية الترحيل وضمان توافق التطبيقات مع أنظمة تشغيل POSIX . سعت مايكروسوفت إلى أن تعمل الروابط الرمزية في ويندوز فيستا "تمامًا مثل روابط يونكس". [ 28 ] لإنشاء رابط رمزي، يجب أن يمتلك حساب المستخدم صلاحية " إنشاء رابط رمزي" الجديدة SeCreateSymbolicLinkPrivilege، والتي لا يمتلكها افتراضيًا إلا المسؤولون. [ 29 ] في ويندوز فيستا والإصدارات الأحدث، عندما ينتهي مسار دليل العمل برابط رمزي، فإن مرجع مسار الأصل الحالي ..سيشير إلى الدليل الأصل للرابط الرمزي وليس إلى الدليل الهدف.
يمكن للمستخدمين استخدام موجه الأوامر أو PowerShell لإنشاء روابط رمزية. ينشئ الأمر التالي رابطًا رمزيًا باسم "Downloads" في المسار " E:\" يشير إلى مجلد التنزيلات في ملف تعريف المستخدم. يعمل هذا الأمر في موجه الأوامر فقط لأنه mklinkأمر مدمج في PowerShell.
mklink /DE:\Downloads %UserProfile% \Downloads يطلب الخيار /Dفي هذا الأمر نقطة ربط بدلاً من رابط رمزي للملف. ينجح هذا الأمر حتى لو لم يكن الهدف موجودًا.
يقوم أمر PowerShell التالي أيضًا بإنشاء رابط رمزي بنفس المصدر والهدف كما هو موضح أعلاه:
New-Item -Path 'E:\Downloads' -ItemType 'SymbolicLink' -Value "$Env:UserProfile\Downloads"على عكس موجه الأوامر، يُرجع PowerShell خطأً إذا كان مسار الكائن المصدر غير صالح. في المقابل، يُحدد PowerShell نوع الكائن المصدر بدقة ويُنشئ الرابط الرمزي الصحيح. بالإضافة إلى الملفات والمجلدات، يُمكن للروابط الرمزية في نظام الملفات NTFS أن تُشير إلى دفق بيانات بديل . يُنشئ المثال التالي رابطًا رمزيًا باسم " Test.txt" يُشير إلى Zone.Identifier:$DATAدفق البيانات البديل " " لملف باسم " npcap-1.83.exe". (هذا الدفق البديل تحديدًا هو علامة الويب .)
إنشاء عنصر جديد - المسار "E:\Test.txt" - نوع العنصر 'رابط رمزي' - القيمة 'E:\npcap-1.83.exe:Zone.Identifier:$DATA'الوظيفة الأساسية المسؤولة عن إنشاء الروابط الرمزية هي CreateSymbolicLink()وظيفة من واجهة برمجة تطبيقات ويندوز (Windows API )، التي طُرحت عام 2008. وهي قادرة على إنشاء روابط رمزية للملفات والمجلدات. [ 30 ] وفي وقت لاحق، عام 2021، أضافت مايكروسوفت طرقًا File.CreateSymbolicLink()جديدة Directory.CreateSymbolicLink()إلى .NET 6. وهي مجانية ومفتوحة المصدر. [ 31 ] [ 32 ]
الروابط الرمزية في النواة
الروابط الرمزية لـ Cygwin
يحاكي برنامج Cygwin الروابط الرمزية المتوافقة مع معيار POSIX في نظام ملفات ويندوز. يستخدم البرنامج واجهات برمجة وأدوات مستخدم مطابقة لتلك المستخدمة في نظام يونكس (انظر أعلاه)، ولكنه يُنشئ اختصارات ويندوز (ملفات .lnk) تتضمن معلومات إضافية يستخدمها Cygwin عند تحليل الروابط الرمزية. تتوافق الروابط الرمزية في Cygwin مع معيار POSIX من حيث آلية تحليلها، ومع معايير ويندوز من حيث تمثيلها على القرص.
بالإضافة إلى ذلك، يمكن إعداد Cygwin لدعم الروابط الرمزية الأصلية لنظام Windows، والتي يمكن استخدامها خارج Cygwin دون قيود. [ 33 ] يتطلب ذلك ما يلي:
- تغيير متغير بيئة CYGWIN ليحتوي على winsymlinks:native ؛
- تشغيل Cygwin بصلاحيات إدارية لأن نظام Windows يقيد إنشاء الروابط الرمزية للمستخدمين ذوي الصلاحيات.
مع ذلك، توجد بعض الاختلافات. لا يوفر Cygwin طريقة لتحديد معلومات متعلقة بالاختصارات، مثل دليل العمل أو الأيقونة، لعدم وجود مكان لهذه المعلمات في ln -sالأوامر. لإنشاء ملفات .lnk القياسية من Microsoft، يوفر Cygwin أداتين mkshortcutمساعدتين readshortcut. [ 34 ]
يحتوي دليل مستخدم Cygwin على مزيد من المعلومات حول هذا الموضوع. [ 33 ] يحتوي MSYS2 ، المبني على Cygwin، على مجموعة مماثلة من إعدادات winsymlinks ، ولكنه يستخدم افتراضيًا نسخ الملفات. [ 35 ]
مقارنة بين تطبيقات الروابط الرمزية
يقارن الجدول التالي جوانب مختلفة من الرابط الرمزي (سواء كان قائمًا على نظام UNIX أو نظام Windows)، ونقطة الوصل (NTFS) والرابط الصلب (القائم على نظام UNIX).
| الرابط الرمزي | نقطة التقاطع | رابط صلب | |
|---|---|---|---|
| هل يتم حذف الهدف عند حذف الرابط؟ | لا | نعم [ أ ] | فقط إذا كان عدد المراجع يساوي صفرًا بعد التناقص |
| هل الرابط صالح إذا تم نقل الهدف؟ | لا | لا | نعم |
| هل يُسمح بالمسار النسبي؟ | نعم | لا [ ب ] | غير متوفر |
| هل يمكن الربط بمستوى صوت مختلف؟ | نعم | نعم | لا |
| هل يمكن ربط الملف؟ | نعم [ ج ] | لا | نعم |
| هل يمكن الربط بالمجلد؟ | نعم | جزئي [ د ] |
- ↑ إلا عند استخدام أدوات خاصة
- ↑ عند الادخار، يصبح مسارًا مطلقًا
- ↑ مدعوم على نظامي التشغيل Windows Vista والإصدارات الأحدث. لا يتوافق تطبيق Windows مع معيار POSIX. يتطلب إنشاء هذه الروابط صلاحية "إنشاء رابط رمزي" (
SeCreateSymbolicLinkPrivilege). بشكل افتراضي، يمتلك حساب المستخدم هذه الصلاحية عندما يكون مسؤولاً [ 36 ] أو عندما يكون وضع المطور مُفعلاً (Windows 10 الإصدار 1703 والإصدارات الأحدث). [ 37 ] - ↑ يسمح معيار POSIX بإنشاء رابط ثابت إلى دليل، ولكنه لا يشترط هذه الإمكانية. ولا تدعم أنظمة الملفات الحديثة هذه الميزة عادةً.
تطبيقات أخرى
تطبيقات لميزات مشابهة للروابط الرمزية.
معهد ماساتشوستس للتكنولوجيا في بداياته
يحتوي كل من نظام المشاركة الزمنية المتوافق مع معهد ماساتشوستس للتكنولوجيا (MIT ) لعام 1963 ونظام المشاركة الزمنية غير المتوافق على ملفات مرتبطة حيث يتم تحديد اسم الملف الهدف في مدخل الدليل. [ 3 ] [ 4 ] [ 5 ]
بيانات عامة RDOS
يدعم نظام التشغيل RDOS من شركة Data General لأجهزة الكمبيوتر Nova الخاصة بها "إدخالات الارتباط"، وهي إدخالات دليل تحتوي على كل من اسم الإدخال واسم ملف آخر، بحيث تشير الإشارة إلى ملف باستخدام اسم الإدخال إلى الملف الآخر. [ 38 ]
أميغا
يُستخدم الأمر `dos.library` لإنشاء الروابط الرمزية makelink، وهو نفسه المستخدم لإنشاء الروابط الصلبة. داخليًا، تُعيد مكتبة `dos.library` رمز خطأ يُشير إلى أن الهدف هو رابط رمزي إذا حاولتَ تنفيذ إجراءات عليه لا يُسمح بها إلا للملفات. في هذه الحالة، تحتاج التطبيقات التي ترغب في تتبع الرابط الرمزي إلى استدعاء الأمر `dos.library` صراحةً لتتبع الرابط وإعادة محاولة العملية. أما واجهة AmigaDOS فتتتبع الروابط تلقائيًا.
نظام التشغيل ماك الكلاسيكي
في نظام التشغيل ماك الكلاسيكي ، يمكن للتطبيقات أو المستخدمين استخدام الأسماء المستعارة ، والتي، على عكس الروابط الرمزية، تتبع الهدف حتى لو تم نقله إلى موقع آخر على نفس وحدة التخزين. (لا ينبغي الخلط بين هذا وبين اسم الأمر المستعار في بعض أنظمة التشغيل الشبيهة بنظام يونكس).
يدعم نظام macOS أيضًا الأسماء المستعارة؛ فهي غير مدعومة بواسطة واجهات برمجة تطبيقات Unix مثل open()، ولكنها مدعومة بواسطة واجهات برمجة تطبيقات Carbon و Cocoa ذات المستوى الأعلى.
نظام التشغيل OS/2
في نظام التشغيل OS/2 ، تشبه الروابط الرمزية إلى حد ما الظلال في واجهة Workplace Shell الرسومية . ومع ذلك، فإن الظلال، بفضل نموذج كائنات النظام الموجه بالكامل، أقوى وأكثر متانة من الرابط البسيط. على سبيل المثال، لا تفقد الظلال وظائفها عند إعادة تسميتها أو عند نقل الكائن أو موضوع الرابط. [ 39 ]
البدائل
اختصارات الملفات
قد تشبه الاختصارات ، التي تدعمها متصفحات الملفات الرسومية في بعض أنظمة التشغيل، الروابط الرمزية، لكنها تختلف عنها في عدة جوانب مهمة. أحد هذه الاختلافات هو نوع البرامج التي يمكنها تتبعها.
- يتم حل الروابط الرمزية تلقائيًا بواسطة نظام الملفات. أي برنامج، عند الوصول إلى رابط رمزي، سيرى الهدف بدلاً من ذلك، سواء كان البرنامج على دراية بالروابط الرمزية أم لا.
- يتعامل نظام الملفات والبرامج التي لا تتعرف على الاختصارات مع الاختصارات كملفات عادية. أما البرامج التي تفهم الاختصارات (مثل واجهة سطر الأوامر في ويندوز ومتصفحات الملفات) فتتعامل معها كمراجع لملفات أخرى.
كما أن للآليات قدرات مختلفة:
- تشير اختصارات ويندوز عادةً إلى وجهة ما عبر مسار مطلق (بدءًا من الدليل الجذر )، بينما يمكن للروابط الرمزية POSIX الإشارة إلى الوجهات عبر مسار مطلق أو نسبي . يُعدّ المسار النسبي مفيدًا إذا كان كل من الرابط الرمزي والوجهة المستهدفة يشتركان في مسار سلف مشترك غير معروف عند الإنشاء (على سبيل المثال، في ملف أرشيف يمكن فك ضغطه في أي مكان).
- تحتوي اختصارات تطبيقات ويندوز على بيانات وصفية إضافية يمكن ربطها بالوجهة، في حين أن الروابط الرمزية POSIX هي مجرد سلاسل سيتم تفسيرها على أنها مسارات مطلقة أو نسبية.
- على عكس الروابط الرمزية، تحتفظ اختصارات ويندوز بمراجعها إلى أهدافها حتى عند نقل الهدف أو إعادة تسميته. يمكن لعملاء نطاق ويندوز الاشتراك في خدمة ويندوز تُسمى تتبع الروابط الموزعة [ 40 ] لتتبع التغييرات في الملفات والمجلدات التي تهمهم. تحافظ هذه الخدمة على سلامة الاختصارات، حتى عند نقل الملفات والمجلدات عبر الشبكة. [ 41 ] بالإضافة إلى ذلك، في ويندوز 9x والإصدارات الأحدث، يحاول نظام ويندوز تحديد هدف الاختصار المعطل قبل اقتراح حذفه.
اختصارات المجلدات
تتيح واجهة سطر أوامر ويندوز للمجلدات العادية في أنظمة الملفات العمل كنقاط ربط. [ 42 ] وهي غير مرئية لواجهة سطر أوامر ويندوز، ولكنها عديمة الفائدة في بيئات أخرى. يوفر ويندوز طريقتين لإنشاء اختصار مجلد. الأولى هي من خلال اصطلاح تسمية خاص. يجب أن يلتزم اختصار المجلد بالصيغة التالية: Name.{CLSID}[ 42 ] ستقوم واجهة سطر أوامر ويندوز باستبدال الاسم بالكامل باسم العرض الخاص بمعرف الفئة (CLSID) المرتبط به. على سبيل المثال، Test.{B4BFCC3A-DB2C-424C-B029-7FE99A87C641}يصبح اختصارًا لسطح مكتب ويندوز.
أما الثاني فيتطلب ما يلي: [ 42 ]
- إضافة خاصية "للقراءة فقط" إلى المجلد. [ 43 ]
- تحويل المجلد إلى مجلد نظام عن طريق استدعاء
PathMakeSystemFolder()الدالة. - وضع ملف مخفي
Desktop.iniفي المجلد. مثال على ذلكDesktop.iniكما يلي:
[.ShellClassInfo] CLSID2 = {0AFACED1-E828-11D1-9187-B532F1E9575D}كائنات الصدفة في واجهة ويندوز
تُعرَّف كائنات shell [44] أو مجلدات shell في سجل نظام التشغيل Windows ، ويمكن استخدامها لإنشاء نوع من الروابط الرمزية. ومثل اختصارات المجلدات، فهي غير مرئية لواجهة سطر أوامر Windows.
فيما يلي نموذج عام. {########-####-####-####-############}و 0x####و <Path>هي عناصر نائبة.
[ HKEY_CLASSES_ROOT \CLSID\{########-####-####-####-############}] @ = "اسم العرض"[ HKEY_CLASSES_ROOT \CLSID\{########-####-####-####-############}\DefaultIcon] @ = "..." ; مسار الأيقونة[ HKEY_CLASSES_ROOT \CLSID\{########-####-####-####-############}\InProcServer32] @ = "%SystemRoot%\\System32\\ShDocVw.Dll" "ThreadingModel" = "Apartment"[ HKEY_CLASSES_ROOT \CLSID\{########-####-####-####-############}\Instance] "CLSID" = "{0AFACED1-E828-11D1-9187-B532F1E9575D}"[ HKEY_CLASSES_ROOT \CLSID\{########-####-####-####-############}\Instance\InitPropertyBag] "Attributes" = hex : 15,00,00,00يمكنك تحديد أحد الخيارات التالية: - "الهدف" مع مسار نظام ملفات مطلق. - "الهدف" مع مسار نسبي، إذا تم تحديد "TargetKnownFolder" أو "TargetSpecialFolder" أيضًا. - "TargetSpecialFolder" (مع أو بدون "الهدف" الذي يحتوي على مسار نسبي). يجب أن يحتوي على CSIDL للهدف. - "TargetKnownFolder" (مع أو بدون "الهدف" الذي يحتوي على مسار نسبي). يجب أن يحتوي على GUID للهدف. مدعوم على نظام التشغيل Windows Vista والإصدارات الأحدث."الهدف" = "<المسار>" "مجلد الهدف الخاص" = "0x####" "مجلد الهدف المعروف" = "{########-####-####-####-############}"[ HKEY_CLASSES_ROOT \CLSID\{########-####-####-####-############}\ShellFolder] "Attributes" = hex : 00,00,00,00يُعد مجلد "مستنداتي" على سطح المكتب بالإضافة إلى مجلدي "الخطوط" و" الأدوات الإدارية" في لوحة التحكم أمثلة على كائنات النظام التي يتم إعادة توجيهها إلى مجلدات نظام الملفات.
انظر أيضاً
- تضارب الروابط الرمزية - ثغرة أمنية ناتجة عن الروابط الرمزية
- freedup — يقوم بإنشاء روابط بين البيانات المتطابقة تلقائيًا
- المؤشر (برمجة الحاسوب)
مراجع
- ↑ "حل مسار الملف" . POSIX .
- ↑ بيل جوي ؛ سام ليفلر . "البقاء على قيد الحياة مع نظام التشغيل 4.1a bsd" . جيت هاب . تم الاطلاع عليه في 8 سبتمبر 2023.
يتضمن أيضًا بعض الميزات الأخرى التي قد تجدها مفيدة، مثل
الروابط الرمزية
ونظام المجموعات المحسّن.
- 1 2 والدن، ديفيد؛ فان فليك، توم ، محرران. (2011). "نظام المشاركة الزمنية المتوافق (1961-1973): نظرة عامة تذكارية بمناسبة الذكرى الخمسين" (ملف PDF) . جمعية IEEE للحاسبات . تم الاطلاع عليه في 20 فبراير 2022. مع تطور نظام المشاركة الزمنية المتوافق ،
وفرنا طرقًا للمستخدمين لمشاركة ملفاتهم على القرص، من خلال "الملفات المشتركة" و"الربط".
- 1 2 كريسمان، باتريشيا أ.، محررة. (31 ديسمبر 1969). "نظام المشاركة الزمنية المتوافق، دليل للمبرمج" ( ملف PDF) . مركز الحوسبة في معهد ماساتشوستس للتكنولوجيا . تم الاسترجاع في 10 مارس 2022.
إدخالات UFD التي تشير إلى إدخالات UFD أخرى بدلاً من الملف نفسه
- ١ ٢ كورباتو، إف جيه ؛ داجيت، إم إم؛ دالي، آر سي؛ كريسي، آر جيه؛ هيلويغ، جيه دي؛ أورنشتاين، آر إتش؛ كورن، إل كيه (١٩٦٣). "نظام المشاركة الزمنية المتوافق: دليل للمبرمج" (ملف PDF) . معهد ماساتشوستس للتكنولوجيا . تم الاطلاع عليه بتاريخ ٢٩ نوفمبر ٢٠٢٢.
الرابط: التنسيق مشابه للنسخ. لا يتم نسخ الملف المحدد
. - ↑ – دليل معلومات متنوعة لنظام NetBSD : الروابط الرمزية السحرية.
- ↑ بروكس ديفيس (2008). "روابط رمزية متغيرة لنظام FreeBSD" (PDF) .
- 1 2 بايك، روب (2000). أسماء الملفات المعجمية في بلان 9 أو الحصول على النقطة-النقطة بشكل صحيح (ملف PDF) . وقائع المؤتمر التقني السنوي لـ USENIX .
- ↑ نيل براون (2016). "حالة لصالح الروابط الرمزية المتغيرة" . LWN .
- ↑ – مرجع واجهات النظام، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Group
- ↑ – مرجع واجهات النظام، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Group
- ↑ – مرجع واجهات النظام، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Group
- ↑ – مرجع واجهات النظام، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Group
- ↑ – مرجع واجهات النظام، مواصفات يونكس الموحدة ، الإصدار 5 من مجموعة Open Group
- ↑ – دليل استدعاءات نظام FreeBSD
- ↑ – دليل استدعاءات نظام NetBSD
- ↑ – دليل استدعاءات نظام DragonFly BSD وأرقام الأخطاء
- ↑ – دليل وظائف مكتبة داروين وماك أو إس
- ↑ – دليل استدعاءات نظام FreeBSD
- ↑ – دليل استدعاءات نظام NetBSD
- ↑ – دليل استدعاءات نظام DragonFly BSD وأرقام الأخطاء
- ↑ – دليل وظائف مكتبة داروين وماك أو إس
- ↑ التعديل c7c0ea91aa6761b761909c99f9310bafb92b364d من الملف systemd/src/core/unit.c، شفرة المصدر، تعليق على ملف unit_export_state_files
- ↑ روسينوفيتش، مارك (4 يوليو 2016). "مفترق الطرق" . سيسينترالز . مايكروسوفت - عبر مايكروسوفت ليرن .
- 1 2 أش كرافت، ألفين (8 يوليو 2025). "الروابط الصلبة والوصلات" . تطوير تطبيقات ويندوز . مايكروسوفت . تم الاسترجاع في 30 سبتمبر 2025 - عبر مايكروسوفت ليرن .
- ↑ "اعتبارات البرمجة (أنظمة الملفات المحلية)" . مايكروسوفت ليرن .
- ↑ "موقع ويب ملحق Link Shell" . موقع ويب ملحق Link Shell .
- 1 2 "الروابط الرمزية" . تطوير تطبيقات ويندوز . مايكروسوفت . 8 يوليو 2025 - عبر مايكروسوفت ليرن .
- ↑ روسينوفيتش، مارك (فبراير 2007). "داخل نواة ويندوز فيستا: الجزء 1" . مايكروسوفت ليرن . الروابط الرمزية المستندة إلى الملفات.
- ↑ ووكر، جيم (1 يونيو 2024). "دالة CreateSymbolicLinkW (winbase.h)" . تطوير تطبيقات ويندوز .
- ↑ وارين، جينيفيف. "طريقة File.CreateSymbolicLink(String, String) (System.IO)" . وثائق .NET 6. مايكروسوفت . تم الاسترجاع في 30 سبتمبر 2025 - عبر Microsoft Learn .
- ↑ وارين، جينيفيف. "طريقة Directory.CreateSymbolicLink(String, String) (System.IO)" . وثائق .NET 6. مايكروسوفت . تم الاسترجاع في 30 سبتمبر 2025 - عبر Microsoft Learn .
- 1 2 "الفصل 3. استخدام Cygwin" . www.cygwin.com . تم الاطلاع عليه بتاريخ 2021-07-08 .
- ↑ "استخدام Cygwin بفعالية مع نظام التشغيل Windows" .
- ↑ "Coreutils: ln --symbolic يُنشئ روابط صلبة (MSYS2-packages #249)" . GitHub .
- ↑ "إنشاء روابط رمزية" . وثائق عميل ويندوز لمحترفي تكنولوجيا المعلومات . مايكروسوفت . ١٨ يناير ٢٠٢٣ - عبر مايكروسوفت ليرن.
- ↑ دور، يوسف (2 ديسمبر 2016). "الروابط الرمزية في ويندوز 10!" . تجربة ويندوز . مايكروسوفت - عبر مدونات ويندوز.
- ↑ دليل مرجعي لنظام تشغيل القرص في الوقت الحقيقي (RDOS) (ملف PDF) . داتا جنرال . مارس 1979. الصفحات 2-11 – 2-12 .
- ^ روخاس ، ميغيل (16 ديسمبر 2020). "كيفية تشغيل إصدارات مختلفة من بايثون وفقًا للخيارات المحددة مسبقًا" . المعلم اليدوي . تم الاسترجاع في 20 ديسمبر 2020 .
- ↑ "تتبع الروابط الموزعة على وحدات تحكم المجال - خادم ويندوز" . 23 فبراير 2023.
- ↑ "تتبع الروابط الموزعة ومعرّفات الكائنات" . مايكروسوفت ليرن . شركة مايكروسوفت. 30 ديسمبر 2021. تم الاطلاع عليه في 1 سبتمبر 2025 .
- 1 2 3 "تحديد موقع امتداد مساحة الاسم" . مكتبة Windows Shell . مايكروسوفت . 6 يناير 2021. استخدام مجلدات نظام الملفات كنقاط ربط - عبر Microsoft Learn .
- ↑ «لا يمكنك عرض أو تغيير سمات "للقراءة فقط" أو "النظام" للمجلدات في Windows Server 2003 أو Windows XP أو Windows Vista أو Windows 7» . support.microsoft.com . مؤرشف من الأصل بتاريخ 17 نوفمبر 2017.
- ↑ "إنشاء ملحقات Shell باستخدام كائنات مثيل Shell" . Microsoft Learn . 29 يونيو 2010.
روابط خارجية
- سؤال وجواب: الفرق بين الروابط الصلبة والروابط اللينة في نظام لينكس
- نقطة الربط : الحفاظ على نقاط الربط في نظام الملفات NTFS (لنظام التشغيل Windows 2000 والإصدارات الأحدث)
- FSUtil Hardlink : صفحة Microsoft Technet حول استخدام أداة سطر الأوامر FSUtil لإنشاء روابط صلبة (لنظام التشغيل Windows 2000 والإصدارات الأحدث)
- برامج تشغيل الروابط الرمزية لنظام التشغيل ويندوز إكس بي (باللغة اليابانية) : برامج تشغيل نظام الملفات لتمكين الروابط الرمزية لنظام التشغيل ويندوز إكس بي (متوفرة أيضًا على موقع Link Shell Extension). المصادر متاحة.
- أنظمة ملفات الحاسوب
- تقنية نظام ملفات يونكس
