المسار (الحوسبة)

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

تختلف حساسية حالة الأحرف لمكونات المسار الفردية باختلاف نظام التشغيل ، أو بناءً على الخيارات المحددة عند إنشاء نظام الملفات أو استخدامه لأول مرة . عمليًا، هذا يعني أنه في نظام حساس لحالة الأحرف ، يمكن أن تتعايش مكونات المسار المسماة `<path>` component1و` Component1<path>` في نفس المستوى من التسلسل الهرمي، بينما في نظام ملفات غير حساس لحالة الأحرف ، لا يمكن ذلك (سيحدث خطأ). أنظمة الملفات الأصلية في macOS وWindows غير حساسة لحالة الأحرف افتراضيًا، بينما أنظمة ملفات Linux النموذجية حساسة لحالة الأحرف. [ 1 ] [ 2 ] [ 3 ]

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

تُعد المسارات ضرورية أيضًا لتحديد مواقع موارد الشبكة المنظمة هرميًا، كما هو موضح في عناوين URL ومسارات UNC .

تاريخ

قدم نظام Multics لأول مرة نظام ملفات هرمي مع أدلة (مفصولة بـ ">") في منتصف الستينيات. [ 4 ]

في حوالي عام 1970، قدم نظام يونكس الشرطة المائلة /كفاصل للمجلدات.

في الأصل، لم يكن نظام MS-DOS يدعم الدلائل. عند إضافة هذه الميزة، لم يكن استخدام معيار يونكس المتمثل في الشرطة المائلة خيارًا مناسبًا، نظرًا لأن العديد من الأوامر الموجودة كانت تستخدم الشرطة المائلة كبادئة للتبديل (مثل: `\ dir /w`). في المقابل، يستخدم يونكس الشرطة (-) -كبادئة للتبديل. \في النهاية، تم اختيار الشرطة المائلة العكسية (\) لتشابهها مع الشرطة المائلة وعدم تعارضها مع الأوامر الموجودة. استمر هذا النهج في نظام ويندوز . مع ذلك، تقبل بعض أجزاء ويندوز أو تفهم الشرطات المائلة على نمط يونكس أيضًا، مثل PowerShell . [ 5 ] [ 6 ]

ملخص الأنظمة

يوضح الجدول التالي بنية المسارات في أنظمة التشغيل البارزة:

نظامالمجلد الرئيسيتحديد المسارمدير العملالمخرج الرئيسيالصفحة الرئيسيةأمثلة
أنظمة يونكس والأنظمة الشبيهة بيونكس ، بما في ذلك نظام التشغيل ماك أو إس [ 7 ]//...~/home/user/docs/Letter.txt ./child ../../greatgrandparent ~/.rcinfo
ويندوز ، موجه الأوامر\ (بالنسبة إلى جذر دليل العمل الحالي) أو [حرف محرك الأقراص]:\ أو \\.\ أو \\?\ أو \\[اسم المضيف]\[اسم الجذر] (UNC)/ [ أ ] أو \...C:\user\docs\Letter.txt /user/docs/Letter.txt C:\user\docs\somefile.ext: اسم دفق بديل

C:picture.jpg \\?\UNC\Server01\user\docs\Letter.txt \\.\COM1

باور شيل[حرف محرك الأقراص]:/ أو [اسم محرك الأقراص]:\ أو [اسم PSSnapIn]\[اسم موفر PS]::[جذر محرك أقراص PS] أو UNC/ [ أ ] أو \...~C:\user\docs\Letter.txt ~\Desktop UserDocs:/Letter.txt المتغير: PSVersionTable سجل النظام::HKEY_LOCAL_MACHINE\SOFTWARE\ Microsoft.PowerShell.Security\Certificate::CurrentUser\
جامعة نورث كارولينا [ 8 ]\\[server]\[sharename]\/\\Server01\user\docs\Letter.txt
دوس ، كوماند.كوم[حرف محرك الأقراص]:\ أو \\[اسم الخادم]\[وحدة التخزين]\\...C:\USER\DOCS\LETTER.TXT A:PICTURE.JPG \\SERVER01\USER\DOCS\LETTER.TXT
نظام التشغيل OS/2[حرف محرك الأقراص]:\ أو \\[اسم الخادم]\[وحدة التخزين]\/ أو \...C:\user\docs\Letter.txt A:Picture.jpg \\SERVER01\USER\docs\Letter.txt
RSX-11 MCR [ 9 ][اسم الجهاز]:DR0:[30,12]LETTER.TXT;4 [ b ]
TOPS-20 DCL [ 10 ][اسم الجهاز]:.ملاحظة: <USER.DOCS>LETTER.TXT,4
OpenVMS DCL [ 11 ] [ 12 ][اسم الجهاز]:[000000] أو [NODE["اسم الحساب كلمة المرور"]]::[اسم الجهاز][000000]:.[][-]SYS$LOGIN:NODE$DISK:[USER.DOCS]PHOTO.JPG USER:[000000]000000.DIR []IN_THIS_DIR.COM; [-.-]GreatGrandParent.TXT SYS$SYSDEVICE:[.DRAFTS]LETTER.TXT;4 GEIN::[000000]LETTER.TXT;4 SYS$LOGIN:LOGIN.COM
ProDOS AppleSoft BASIC [ 13 ]/[اسم وحدة التخزين أو محرك الأقراص]///SCHOOL.DISK/APPLEWORKS/MY.REPORT FLIGHT.SIMULATOR,D2
أميغا أو إس أميغا كلي / أميغاشيل [ 14 ][محرك الأقراص، أو وحدة التخزين، أو الجهاز، أو اسم التعيين]:/سلسلة فارغة/Workbench:Utilities/MultiView DF0:S/Startup-Sequence S:Startup-Sequence TCP:en.wikipedia.com/80
RISC OS ShellCLI [ 15 ][نوع نظام الملفات[#الخيار]:][:رقم محرك الأقراص أو اسم القرص.]$ [ ج ].@^وADFS::MyDrive.$.Documents.Letter Net#MainServer::DataDrive.$.Main.sy10823 LanMan::WindowsC.$.Pictures.Japan/gif NFS:&.!Choices ADFS:%.IfThere @.inthisdir ^.^.greatgrandparent [ d ]
مدير ملفات نظام التشغيل سيمبيان\\\user\docs\Letter.txt
Domain/OS Shell [ 16 ]// (جذر النطاق) أو / (جذر العقدة الحالية)/.\~//node/home/user/docs/Letter.txt ./inthisdir \\greatgrandparent ~rcinfo
MenuetOS CMD///ملف
واجهة سطر الأوامر Stratus VOS%[system_name]#[module_name]>><%sysname#module1>SubDir>AnotherDir
NonStop Kernel TACL [ e ].\NODE.$DISK.SUBVOL.FILE \NODE.$DEVICE \NODE.$DEVICE.#SUBDEV.QUALIFIER
CP/M CCP [ 17 ][حرف محرك الأقراص:]لا توجد مجلدات فرعية، فقط مناطق المستخدم من 0 إلى FA:LETTER.TXT
GS/OS:[اسم وحدة التخزين]: أو .[اسم الجهاز]: أو [البادئة]: [ f ]: أو /@:Apps:Platinum.Paint:Platinum.Paint *:System:Finder .APPLEDISK3.5B/file
OpenHarmony exec, Oniro, including HarmonyOS [ 18 ] [ 19 ]hb set -root [ROOT_PATH] or hb set -p --product [PRODUCT_NAME]> أو /./../LOCAL/MEDIA_TYPE_/Download/Letter.txt

في لغات البرمجة

تستخدم معظم لغات البرمجة تمثيل المسار للنظام الأساسي، ولكن قد تكون بعضها مستقلة عن النظام. [ 2 ]

على سبيل المثال، يعتمد كود C هذا على النظام وقد يفشل على أنظمة مختلفة: [ 1 ]

uxFile = fopen ( "project/readme.txt" , "r" ) // يفشل على نظام ويندوز winFile = fopen ( "C: \\ Program Files \\ bin \\ config.bat" , "r" ) // يفشل على نظام يونكس
  • في لغة جافا ، يخزن الحقل File.separator الفاصل المعتمد على النظام. [ 20 ] بعض الدوال لا تحتاج إلى الفاصل إطلاقاً.
import java.io.File ; import java.nio.file.Path ; import java.nio.file.Paths ; // ... File file = new File ( "path" + File.separator + "file.txt" ); Path path = Paths.get ( " path" , " file.txt" ) ;
من مكتبة pathlib استورد Pathباستخدام ( المسار ( "المسار" ) / "إلى" / "file.txt" ) . فتح () كـ فتح_ملف : ...

في نظام يونكس

تستخدم معظم الأنظمة الشبيهة بنظام يونكس صيغةً متشابهة. [ 22 ] يسمح معيار POSIX بالتعامل مع المسار الذي يبدأ بشرطتين مائلتين بطريقة تحددها آلية التنفيذ، [ 23 ] بينما في حالات أخرى، يجب على الأنظمة التعامل مع الشرطتين المائلتين المتتاليتين كشرطة واحدة. [ 24 ]

تستخدم العديد من التطبيقات على أنظمة شبيهة بنظام Unix (على سبيل المثال، scp و rcp و rsync ) تعريفات الموارد مثل hostname:/directorypath/resource، أو مخططات URI مع اسم الخدمة (هنا ' smb ')، مثل smb://hostname/directorypath/resource. [ 3 ]

في نظام macOS

أثناء تطوير نظام macOS ، ورث بعض خيارات مسارات الملفات من نظام Mac OS الكلاسيكي ونظام NeXTSTEP الشبيه بنظام Unix . يستخدم نظام Mac OS الكلاسيكي الفاصلة النقطية، بينما تستخدم أنظمة Unix والأنظمة الشبيهة بنظام Unix الفاصلة المائلة. ولحل هذه المشكلة، وللحفاظ على توافق البرامج وسهولة استخدامها للمستخدمين، وللسماح باستخدام أنظمة ملفات القرص من قِبل كلٍ من نظام Mac OS الكلاسيكي ونظام macOS، تقوم بعض أجزاء macOS بالتحويل بين النقطتين والشرطات المائلة في مسارات الملفات؛ [ 25 ] على سبيل المثال، يقوم نظام الملفات HFS+، من نظام Mac OS الكلاسيكي، بتحويل النقطتين في أسماء الملفات إلى شرطات مائلة، وعند قراءة دليل، يقوم بتحويل الشرطات المائلة في أسماء الملفات إلى نقطتين رأسيتين، [ 26 ] وتقوم مجموعة أدوات Carbon بتحويل النقطتين في مسارات الملفات إلى شرطات مائلة والعكس، ثم تعيد تحويلها عند تزويد البرنامج بأسماء الملفات ومساراتها. [ 26 ]:/

في نظامي التشغيل DOS وويندوز

لقطة شاشة لواجهة موجه أوامر ويندوز تُظهر أسماء الملفات في دليل

لا يوجد دليل جذر واحد في نظامي التشغيل DOS و Windows؛ يوجد جذر لكل محرك تخزين، ويتم الإشارة إليه بحرف محرك الأقراص أو من خلال UNC.

مقارنة أسماء المجلدات والملفات غير حساسة لحالة الأحرف: "test.TXT" ستطابق "Test.txt". [ 27 ]

يفهم نظام التشغيل ويندوز أنواع المسارات التالية:

  • المسارات المحلية، مثل C:\File.
  • اتفاقية التسمية العالمية (UNC) .
  • مسارات أجهزة DOS، مثل \\.\C:\Fileأو \\?\UNC\Server\Volume\File. الأول \\?\يتجاوز توحيد المسار. أما الثاني، \\.\فيستخدم مساحة اسم الجهاز الخام. [ 27 ] [ 28 ]

في واجهة برمجة تطبيقات ويندوز (Windows API )، تُحوّل وظائف إدخال/إخراج الملفات تلقائيًا /إلى مسارات \(باستثناء استخدام \\?\البادئة). كانت المسارات التي تستخدم واجهات برمجة تطبيقات ويندوز القياسية (التي يعود تاريخها إلى DOS و Win9x ) محدودة بـ 260 حرفًا أو أقل، كما هو مُحدد بواسطة متغير البيئة MAX_PATH . ولضمان التوافق مع التطبيقات القديمة، لم يُزل هذا القيد حتى إصدار ويندوز 10، الإصدار 1607، حيث أصبح بالإمكان توسيعه إلى 32767 حرفًا. لطالما دعم نظام ويندوز NT طول المسار البالغ 32767 حرفًا داخليًا، ولكن فقط عند استخدام واجهات برمجة تطبيقات Unicode أو فرض مسارات UNC باستخدام \\?\البادئة. [ 29 ]

يسمح PowerShell بالتوافق مع الإصدارات السابقة: [ 30 ]

PS C :\> Get-Content -Path "C:/path/to/file.txt"هذا نص موجود داخل ملف

خطأ في رمز الين/الون

غالبًا ما كانت النسخ اليابانية والكورية من نظام التشغيل ويندوز تعرض الرمز ' ¥ ' أو الرمز ' ' بدلًا من فاصل المجلدات. ويعود ذلك إلى أنه بينما كان الرمز الموجود في العنوان 0x5C في ترميز ANSI هو علامة الخط المائل العكسي، فقد كان في الترميز الياباني والكوري يُمثل علامتي الين والوون على التوالي. ولذلك، عند استخدام رمز الخط المائل العكسي، كانت تظهر رموز أخرى. [ 31 ]

اتفاقية التسمية العالمية

اتفاقية التسمية العالمية من مايكروسوفت ( UNC ، أو اتفاقية التسمية الموحدة ، أو مسار الشبكة ) هي صيغة لوصف موقع مورد شبكي، مثل ملف مشترك أو دليل أو طابعة. يأخذ مسار UNC الشكل العام التالي: [ 2 ]

\\اسم_الكمبيوتر\المجلد_المشترك\المورد

تسمح بعض واجهات ويندوز أو تشترط استخدام صيغة UNC للوصول إلى مشاركات WebDAV ، بدلاً من عنوان URL. يتم توسيع صيغة UNC بمكونات اختيارية للدلالة على استخدام SSL ورقم منفذ TCP/IP. وبالتالي، https://hostname:443/SharedFolder/Resourceيصبح عنوان URL الخاص بـ WebDAV هو \\hostname@SSL@443\SharedFolder\Resource. [ 32 ]

عند عرض "المجلد المشترك" عن بُعد، قد يكون له اسم مختلف عما يراه البرنامج الموجود على الخادم عند فتح "\SharedFolder". بدلاً من ذلك، يتكون اسم "المجلد المشترك" من اسم عشوائي يتم تعيينه أثناء إنشاء المشاركة.

بما أن مسارات UNC تبدأ بشرطتين مائلتين عكسيتين، وتُستخدم الشرطة المائلة العكسية أيضًا في تسلسلات الهروب والتعبيرات النمطية ، فقد تنشأ حالات من " متلازمة عود الأسنان المائل" . تبدأ السلسلة المُهرّبة لتعبير نمطي يُطابق مسار UNC بثماني شرطات مائلة عكسية \\\\\\\\لأن السلسلة والتعبير النمطي كلاهما يتطلبان الهروب. يمكن تبسيط ذلك باستخدام السلاسل الخام ، كما هو الحال @"\\\\"في لغة C# أو Python أو Perl .r'\\\\'qr{\\\\}

انظر أيضاً

ملحوظات

  1. 1 2 توافق محدود، قد لا يعمل في جميع برامج ويندوز
  2. بالترتيب، الحقول هيddnn:[g,m]:filename.type;version
  3. & و%و@يمكن استخدامها أيضًا للإشارة إلى جذر المستخدم الحالي والمكتبة والدليل الحالي على التوالي
  4. عند تحميل أنظمة الملفات ذات امتدادات أسماء الملفات،.يتم تغيير الأحرف إلى/، كما في مثال Japan/gif أعلاه
  5. اختصار للغة الأوامر المتقدمة تانديم
  6. [prefix] قد يكون رقمًا (0-31)، أو  *(وحدة تخزين التمهيد) أو@(دليل AppleShare الرئيسي)

مراجع

  1. 1 2 "تنسيقات نظام الملفات المتوفرة في أداة القرص على نظام ماك" . دعم أبل . تم الاطلاع عليه بتاريخ 12 سبتمبر 2025 .يتضمن وصفًا لنظام الملفات APFS ، وهو نظام الملفات الافتراضي لنظام macOS
  2. 1 2 3 مات ووجسياكوفسكي. "حساسية حالة الأحرف" . learn.microsoft.com . تم الاطلاع عليه بتاريخ 12 سبتمبر 2025 .يتعامل نظام ملفات ويندوز مع أسماء الملفات والمجلدات دون مراعاة حالة الأحرف. سيتم التعامل مع FOO.txt و foo.txt كملفين متطابقين. أما نظام ملفات لينكس فيتعامل مع أسماء الملفات والمجلدات مع مراعاة حالة الأحرف. سيتم التعامل مع FOO.txt و foo.txt كملفين مختلفين.
  3. 1 2 داي، بريتاني. "فهم نقاش حساسية حالة الأحرف في نظام ملفات لينكس" . أمن لينكس . تم الاسترجاع في 12 سبتمبر 2025 .تُشير حساسية حالة الأحرف في لينكس إلى قدرة الملفات والمجلدات على التمييز بين الأحرف الصغيرة والكبيرة في أسماء الملفات. على سبيل المثال، يُعامل كل من "File.txt" و"file.txt" كملفين منفصلين. يُعد هذا المفهوم أساسيًا لأنظمة التشغيل الشبيهة بيونكس، بما في ذلك لينكس.
  4. دالي، آر سي؛ نيومان، بي جي (1965). "نظام ملفات للأغراض العامة للتخزين الثانوي". وقائع المؤتمر المشترك للحاسوب، خريف 30 نوفمبر - 1 ديسمبر 1965، الجزء الأول حول XX - AFIPS '65 (خريف، الجزء الأول) . المجلد. الجزء الأول. الصفحات 213-229 . doi : 10.1145/1463891.1463915 . S2CID 16236414 .   
  5. "لماذا يستخدم نظام ويندوز الشرطات المائلة العكسية بينما تستخدم جميع الأنظمة الأخرى الشرطات المائلة الأمامية" . 10 فبراير 2014.
  6. "لماذا يُستخدم الرمز "\" في مسار نظام التشغيل DOS؟" . 24 يونيو 2005.
  7. "أساسيات نظام الملفات" . developer.apple.com . 9 أبريل 2018. تم الاطلاع عليه في 7 سبتمبر 2025 .
  8. "الوصول إلى مشاركة شبكة UNC (ويندوز)" . www.ibm.com . تم الاطلاع عليه بتاريخ 7 سبتمبر 2025 .
  9. دليل تشغيل جهاز RSX-11M-PLUS MCR، الإصدار 4.0 (PDF) . شركة ديجيتال إكويبمنت . أغسطس 1987. 2.2 مواصفات الملف. AA-JS12A-TC.
  10. هيركيرت، مارك كلاوس هيرمان؛ سميث، شيري لين (ديسمبر 1985). برنامج تعليمي لشبكة بيانات الدفاع/TOPS-20. برنامج حاسوبي تفاعلي (PDF) (تقرير فني).
  11. رابي، برنارد (6 يونيو 2011). "OpenVMS & DCL على Alpha & VAX" (PDF) .
  12. "دليل مستخدم VSI OpenVMS" (ملف PDF) . شركة VMS للبرمجيات . 2025. تم الاطلاع عليه بتاريخ 7 سبتمبر 2025 .
  13. دليل مستخدم ProDOS . شركة أبل للكمبيوتر . 1983. الصفحات 56-62 . 
  14. دليل AmigaDOS . من إنتاج شركة Commodore-Amiga، منشورات Bantam Computer Books. فبراير 1986. الصفحات 6-16 . ISBN  978-0-553-34294-9.{{cite book}}صيانة CS1: أخرى ( رابط )
  15. "دليل مرجعي للمبرمجين لنظام RISC OS: المجلد 2: الفصل 44: كتابة نظام ملفات" . www.riscos.com الدعم الفني: دليل مرجعي للمبرمجين . شركة 3QD Developments المحدودة. 3 نوفمبر 2015. تاريخ الاطلاع: 7 سبتمبر 2025 .
  16. البدء باستخدام Domain/OS (ملف PDF) . شركة أبولو للحاسوب . مايو 1988. الصفحات 7-1 – 7-7 . 
  17. دليل نظام التشغيل CP/M ( الطبعة الثالثة). ديجيتال ريسيرش . سبتمبر 1983. 
  18. "مقدمة إلى الصدفة" . جيت هاب . أوبن أتوم أوبن هارموني . تم الاطلاع عليه في 13 مارس 2024 .
  19. "exec" . GitHub . OpenAtom OpenHarmony . تم الاسترجاع في 14 مارس 2024 .
  20. "مواصفات واجهة برمجة تطبيقات Java Development Kit الإصدار 17" . docs.oracle.com . تم الاطلاع عليه في 7 سبتمبر 2025 .
  21. "os.path — عمليات معالجة المسارات الشائعة" . وثائق بايثون . تم الاطلاع عليه في 7 سبتمبر 2025 .
  22. "تعريف جامعة نورث كارولينا" . ComputerLanguage.com .
  23. "مواصفات تحليل مسار POSIX" .
  24. "تعريف مسار POSIX" .
  25. تشان، أليكس (1 ديسمبر 2021). "حكاية فاصلين بين مسارين" . alexwlchan.net . تم الاطلاع عليه في 7 سبتمبر 2025 .
  26. 1 2 سانشيز، ويلفريدو (2000). "تحديات دمج بيئات يونكس وماك أو إس" .
  27. 1 2 دي جورج، آندي (14 ديسمبر 2022). "تنسيقات مسارات الملفات على أنظمة ويندوز" . مستندات مايكروسوفت . تم الاسترجاع في 14 يوليو 2019 .
  28. آش كرافت، ألفين (28 أغسطس 2024). "تسمية الملفات والمسارات ومساحات الأسماء" . وثائق مايكروسوفت .
  29. أش كرافت، ألفين (16 يوليو 2024). "الحد الأقصى لطول المسار - تطبيقات Win32" . learn.microsoft.com . تم الاطلاع عليه في 7 سبتمبر 2025 .
  30. ويلر، شون. "حول بناء جملة المسار - باور شيل" . learn.microsoft.com . تم الاطلاع عليه في 7 سبتمبر 2025 .
  31. "متى لا تكون الشرطة المائلة العكسية شرطة مائلة عكسية؟" . توضيح الأمر برمته .
  32. "دالة DavGetHTTPFromUNCPath" . WebDAV: Windows. وثائق Microsoft . سلسلة. 13 أكتوبر 2021. تم الاطلاع عليه في 4 أكتوبر 2023 .