واجهة سطر الأوامر

لقطة شاشة لجلسة Bash نموذجية في GNOME Terminalفيدورا 15
لقطة شاشة لبرنامج Windows PowerShell 1.0، يعمل على نظام التشغيل Windows Vista

واجهة سطر الأوامر ( CLI ) ، والمعروفة أيضًا باسم غلاف سطر الأوامر ، [ 1 ] [ 2 ] هي وسيلة للتفاعل مع البرامج عبر الأوامر ، حيث يُنسق كل أمر على شكل سطر نصي. تطور مفهوم التفاعل مع الحاسوب عبر النصوص على مدى عقدين من الزمن، منتقلاً من الأجهزة المادية إلى البرامج المتطورة. قبل واجهة سطر الأوامر، كانت الحواسيب تُبرمج باستخدام مفاتيح مادية أو بطاقات مثقبة . [ 3 ] بدأ التحول نحو أسلوب التفاعل "بالأوامر" مع استخدام آلات الطباعة عن بُعد (Teletypes). بدأت الأنظمة المبكرة، مثل Whirlwind I (1951) في معهد ماساتشوستس للتكنولوجيا، باستخدام مدخلات شبيهة بالآلة الكاتبة للتحكم المباشر، متخليةً عن المعالجة الدفعية التي كانت تتطلب تسليم مجموعة من البطاقات إلى المشغل والانتظار لساعات للحصول على النتيجة. [ 4 ] سمحت أجهزة مثل Teletype Model 33 ، التي طُرحت عام 1963، للمشغلين بكتابة أمر واستلام رد مطبوع من الحاسوب. [ 5 ]

ظهر مُفسِّر سطر الأوامر عندما أصبحت الحواسيب قادرة على التعامل مع عدة مستخدمين في آنٍ واحد، وهو ما يُعرف بتقاسم الوقت. وقد قدّم نظام تقاسم الوقت المتوافق (CTSS)، الذي طُوِّر عام ١٩٦١ في معهد ماساتشوستس للتكنولوجيا، أول مُفسِّر حقيقي لسطر الأوامر . ولأول مرة، أصبح بإمكان المستخدم كتابة أمر مثل LOGIN أو PRINT، ليقوم برنامج مُخصَّص (المشرف) بتحليل النص وتنفيذ الوظيفة المُقابلة. وفي عام ١٩٦٤، قدّم لويس بوزان البرنامج الذي نعرفه اليوم باسم "واجهة سطر الأوامر" لنظام التشغيل Multics، مُوفِّرًا بيئة قابلة للبرمجة لتنفيذ البرامج النصية. وتُوفِّر العديد من أنظمة التشغيل وأدوات تطوير البرامج واجهات سطر أوامر.

تُمكّن العديد من واجهات سطر الأوامر من أتمتة البرامج ، حيث يمكن تخزين الأوامر في ملف نصي يُمكن استخدامه بشكل متكرر. يسمح هذا الملف النصي بتنفيذ الأوامر التي يحتويها كمجموعة (كبرنامج واحد).

تشمل البدائل لواجهة سطر الأوامر واجهة المستخدم الرسومية (بما في ذلك استعارة سطح المكتب مثل ويندوزوالقوائم النصية (بما في ذلك DOS Shell و IBM AIX SMITواختصارات لوحة المفاتيح .

مقارنة بواجهات المستخدم الرسومية

واجهة مستخدم رسومية مع أيقونات ونوافذ ( GEM 1.1 Desktop )

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

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

الأنواع

واجهات سطر الأوامر لنظام التشغيل

تُعد واجهات سطر الأوامر لنظام التشغيل عادةً برامج منفصلة تُرفق مع نظام التشغيل. ويُطلق على البرنامج الذي يُنفذ واجهة نصية كهذه اسم مُفسر سطر الأوامر، أو مُعالج الأوامر، أو الصدفة .

من أمثلة مترجمات سطر الأوامر: Nushell ، ولغة الأوامر الرقمية (DCL) من DEC في نظامي التشغيل OpenVMS و RSX-11 ، وأصداف يونكس المختلفة ( sh ، ksh ، csh ، tcsh ، zsh ، Bash ، إلخ)، و CCP في نظام CP/M ، و COMMAND.COM في نظام DOS ، بالإضافة إلى برامج CMD.EXE في نظامي التشغيل OS/2 وWindows ، حيث تعتمد هذه الأخيرة بشكل كبير على واجهات سطر الأوامر RSX-11 و RSTS من DEC . في معظم أنظمة التشغيل، يُمكن استبدال برنامج الصدفة الافتراضي ببدائل؛ ومن الأمثلة على ذلك: 4DOS لنظام DOS، و4OS2 لنظام OS/2، و 4NT / Take Command لنظام Windows.

على الرغم من أن مصطلح "الصدفة" يُستخدم غالبًا لوصف مُفسِّر سطر الأوامر، إلا أن الصدفة ، بالمعنى الدقيق، هي مُفسِّر ومعالج أوامر، وبالتالي برنامج يوفر واجهة (سواءً كانت واجهة مستخدم (واجهة سطر أوامر، أو واجهة رسومية، إلخ) أو واجهة برمجة) لمُفسِّر ومعالج الأوامر وللقدرات الواسعة لنظام التشغيل. على سبيل المثال، واجهة المستخدم الرسومية الافتراضية لنظام ويندوز هي واجهة رسومية للصدفة تُسمى EXPLORER.EXE ، كما هو مُعرَّف في السطر SHELL=EXPLORER.EXE في ملف تكوين WIN.INI. هذا البرنامج، بالمعنى الدقيق، هو واجهة رسومية للصدفة، وبالتالي هو صدفة (بالمعنى الدقيق، صدفة ويندوز هي shell32.dll وليست explorer.exe التي هي واجهة رسومية للصدفة خاصة بـ shell32.dll)، ولكنه ليس مُفسِّر سطر أوامر (CLI) ولا واجهة سطر أوامر للصدفة (CLI).

واجهات سطر أوامر التطبيق

واجهة المستخدم الرسومية لبرنامج GNU Octave مع واجهة سطر الأوامر

قد تحتوي برامج التطبيقات (على عكس أنظمة التشغيل) أيضًا على واجهات سطر الأوامر.

قد يدعم برنامج التطبيق أيًا من هذه الأنواع الثلاثة الرئيسية لآليات واجهة سطر الأوامر، أو لا يدعم أيًا منها، أو جميعها:

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

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

في لعبة Colossal Cave Adventure من عام 1975، يستخدم المستخدم واجهة سطر الأوامر لإدخال كلمة أو كلمتين لاستكشاف نظام الكهوف.

تاريخ

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

استُبدلت آلة الطباعة عن بُعد الميكانيكية بـ "شاشة عرض زجاجية" (TTY) ، وهي عبارة عن لوحة مفاتيح وشاشة تحاكيان آلة الطباعة عن بُعد. أتاحت المحطات الطرفية "الذكية" وظائف إضافية، مثل تحريك المؤشر على كامل الشاشة، أو التحرير المحلي للبيانات على المحطة الطرفية لإرسالها إلى الحاسوب. ومع ظهور ثورة الحواسيب الصغيرة التي حلت محل بنية المشاركة الزمنية التقليدية - حاسوب صغير + محطات طرفية - استُبدلت المحطات الطرفية المادية ببرامج محاكاة المحطات الطرفية - وهي برامج حاسوبية تُفسر إشارات المحطات الطرفية المُرسلة عبر منافذ التسلسل الخاصة بالحاسوب . كانت هذه البرامج تُستخدم عادةً لربط أجهزة الحاسوب الجديدة في المؤسسة بحواسيبها الصغيرة أو المركزية الموجودة، أو لربط أجهزة الحاسوب ببعضها. بعض هذه الحواسيب كانت تعمل ببرنامج نظام لوحة الإعلانات .   

كانت واجهات سطر الأوامر لأنظمة التشغيل المبكرة تُنفذ كجزء من برامج المراقبة المقيمة ، ولم يكن من السهل استبدالها. وكان أول تطبيق للصدفة كمكون قابل للاستبدال جزءًا من نظام التشغيل Multics الذي يعتمد على المشاركة الزمنية . [ 6 ] في عام 1964، طور لويس بوزان، أحد أعضاء فريق مركز الحوسبة في معهد ماساتشوستس للتكنولوجيا، أداة RUNCOM لتنفيذ نصوص الأوامر مع السماح باستبدال الوسائط. [ 7 ] صاغ بوزان مصطلح "الصدفة " لوصف أسلوب استخدام الأوامر كلغة برمجة، وكتب ورقة بحثية حول كيفية تطبيق هذه الفكرة في نظام التشغيل Multics . [ 8 ] عاد بوزان إلى موطنه فرنسا عام 1965، وطورت غليندا شرودر أول صدفة لنظام Multics . [ 7 ]

التفاعل مع Bourne shell على نظام Unix الإصدار 7

طُوِّرت أول واجهة أوامر يونكس ، وهي واجهة V6 ، على يد كين تومسون عام 1971 في مختبرات بيل ، وقد صُمِّمت على غرار واجهة Multics الخاصة بشرويدر. [ 9 ] [ 10 ] أُطلِقت واجهة Bourne عام 1977 كبديل لواجهة V6. ورغم استخدامها كمُفسِّر أوامر تفاعلي، فقد صُمِّمت أيضًا كلغة برمجة نصية، وتحتوي على معظم الميزات التي تُستخدم عادةً لإنتاج برامج مُهيكلة. أدت واجهة Bourne إلى تطوير KornShell ( ksh) و Almquist (ash) وواجهة Bourne-again الشهيرة (أو Bash). [ 10 ]

كانت الحواسيب الصغيرة الأولى تعتمد على واجهة سطر الأوامر مثل CP/M أو DOS أو AppleSoft BASIC . خلال ثمانينيات وتسعينيات القرن العشرين، ومع ظهور أجهزة Apple Macintosh ونظام التشغيل Microsoft Windows على أجهزة الكمبيوتر الشخصية، حلت واجهة المستخدم الرسومية محل واجهة سطر الأوامر كواجهة المستخدم الرئيسية . [ 11 ] وظلت واجهة سطر الأوامر متاحة كواجهة مستخدم بديلة، وكثيراً ما استخدمها مديرو الأنظمة وغيرهم من المستخدمين المتقدمين لإدارة الأنظمة وبرمجة الحاسوب ومعالجة البيانات على دفعات .

في نوفمبر 2006، أصدرت مايكروسوفت الإصدار 1.0 من ويندوز باور شيل (الذي كان يُعرف سابقًا باسم موناد )، والذي جمع بين ميزات واجهات يونكس التقليدية وإطار عمل .NET الخاص بها والموجه للكائنات . يُعد كل من MinGW و Cygwin حزمتين مفتوحتي المصدر لنظام ويندوز توفران واجهة سطر أوامر شبيهة بواجهة يونكس. كما توفر مايكروسوفت تطبيق MKS Korn shell لنظام ويندوز من خلال ملحق خدمات يونكس الخاص بها.

منذ عام ٢٠٠١، يعتمد نظام التشغيل macOS الخاص بأجهزة ماكنتوش على نظام تشغيل شبيه بنظام يونكس يُسمى داروين . [ ١٢ ] على هذه الأجهزة، يمكن للمستخدمين الوصول إلى واجهة سطر أوامر شبيهة بنظام يونكس عن طريق تشغيل برنامج محاكاة الطرفية المسمى Terminal ، الموجود في المجلد الفرعي Utilities ضمن مجلد التطبيقات، أو عن طريق تسجيل الدخول عن بُعد إلى الجهاز باستخدام ssh . يُعد Z shell هو الصدفة الافتراضية لنظام macOS؛ كما تتوفر أيضًا Bash و tcsh و KornShell . قبل إصدار macOS Catalina ، كانت Bash هي الصدفة الافتراضية.

الاستخدام

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

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

تشريح قشرة CLI

النمط العام لسطر الأوامر هو: [ 15 ] [ 16 ]

أمر موجه الأوامر param1 param2 param3 … paramN
  • موجه الإدخال — هو رسالة يُخرجها البرنامج للإشارة إلى استعداده لاستقبال الإدخال؛ وقد يتضمن الموجه معلومات سياقية، وغالبًا ما ينتهي برمز يُشير بصريًا إلى أن الإدخال مطلوب.
  • الأمر — إدخال من المستخدم، وعادةً ما يكون الأمر أحد نوعين:
    1. يتم التعرف على الأوامر الداخلية ومعالجتها بواسطة مترجم سطر الأوامر. وتُسمى الأوامر الداخلية أيضاً بالأوامر المدمجة. [ 17 ]
    2. تُشغّل الأوامر الخارجية ملفات تنفيذية موجودة في ملفات تنفيذية منفصلة. يبحث مُفسّر سطر الأوامر عن ملفات تنفيذية تحمل أسماءً تُطابق الأمر الخارجي. [ 18 ] [ 19 ]
  • param1 …paramN  — المعاملات التي يُدخلها المستخدم. يختلف تنسيق المعاملات ومعناها باختلاف الأمر. في حالة الأوامر الخارجية، تُرسل قيم المعاملات إلى البرنامج عند تشغيله بواسطة نظام التشغيل. قد تكون المعاملات إما وسائط أو خيارات .

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

يمكن اعتبار واجهة سطر الأوامر عمومًا مكونة من بناء الجملة والدلالات . بناء الجملة هو القواعد التي يجب أن تتبعها جميع الأوامر. في حالة أنظمة التشغيل ، يحدد كل من DOS و Unix مجموعة قواعد خاصة بهما يجب أن تتبعها جميع الأوامر. أما في حالة الأنظمة المدمجة ، فيحدد كل مُصنِّع، مثل Nortel أو Juniper Networks أو Cisco Systems ، مجموعة قواعد خاصة به. كما تحدد هذه القواعد كيفية تنقل المستخدم عبر نظام الأوامر. أما الدلالات، فتحدد أنواع العمليات الممكنة، وأنواع البيانات التي يمكن تنفيذ هذه العمليات عليها، وكيفية تمثيل القواعد لهذه العمليات والبيانات - أي المعنى الرمزي في بناء الجملة.

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

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

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

غالباً ما تكون الأوامر المُعطاة إلى واجهة سطر الأوامر (CLI) على أحد الأشكال التالية:

  • doSomething how toFiles
  • doSomething how sourceFile destinationFile
  • doSomething how < inputFile > outputFile
  • doSomething how | doSomething how | doSomething how > outputFile

حيث أن doSomething هو في الواقع فعل ، و how ظرف (على سبيل المثال، هل يجب تنفيذ الأمر بإسهاب أم بهدوء )، و toFiles كائن أو كائنات (عادةً ملف واحد أو أكثر) يجب أن يعمل عليها الأمر. في المثال الثالث، يُعدّ عامل إعادة توجيه ، يُخبر مُفسّر سطر الأوامر بإرسال مُخرجات الأمر ليس إلى مُخرجاته القياسية (الشاشة) بل إلى الملف المُسمى. سيؤدي هذا إلى الكتابة فوق الملف. سيؤدي استخدام إلى إعادة توجيه المُخرجات وإلحاقها بالملف. عامل إعادة توجيه آخر هو الخط العمودي ( ♭ )، الذي يُنشئ مسارًا حيث تُصبح مُخرجات أمر ما مُدخلات للأمر التالي. [ 21 ]>>>|

واجهة سطر الأوامر وحماية الموارد

في بعض الأنظمة، مثل أنظمة يونكس أو ويندوز، يُمكن تعديل مجموعة الأوامر المتاحة بتغيير المسارات المُدرجة في متغير بيئة PATH أو ما يُماثله. في أنظمة يونكس، يجب منح الملف الذي يحتوي على الملف التنفيذي أو النص البرمجي للأمر صلاحية التنفيذ . يتم البحث في المجلدات الموجودة في متغير PATH بالترتيب المُحدد لها. بإعادة ترتيب المسار، يُمكن تشغيل الأمر `eg` \OS2\MDOS\E.EXEبدلاً من `eg` \OS2\E.EXE، بينما يكون الترتيب الافتراضي عكس ذلك. كما يُمكن إعادة تسمية الملفات التنفيذية: فكثيراً ما يُعيد المستخدمون تسمية مُحرر النصوص المُفضل لديهم إلى `EDIT`، على سبيل المثال.

تتيح واجهة سطر الأوامر تقييد الأوامر المتاحة، مثل الوصول إلى الأوامر الداخلية المتقدمة. يمكن تشغيل Bourne shell وما شابهها مثل Bash كواجهة محدودة ؛ وهذا يمنع المستخدم، من بين أمور أخرى، من تعديل متغير بيئة PATH، فإذا تم ضبط PATH ليشمل فقط الدلائل التي تحتوي على الأوامر المسموح بها، فلن يتمكن المستخدم من تشغيل سوى تلك الأوامر. يدعم Windows CMD.EXE أيضًا تقييد الأوامر المتاحة. غالبًا ما تحد برامج المشاركة من نطاق الأوامر، بما في ذلك عرض رسالة "قام مسؤول النظام بتعطيل تشغيل ملفات الدُفعات" في موجه الأوامر.

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

في أنظمة التشغيل MVS الرائدة من IBM ، تتيح ميزة البرامج المعتمدة ( APF ) تشغيل برامج معينة معتمدة بصلاحيات محسّنة، على غرار UID(0) في الأنظمة الشبيهة بنظام Unix. يدعم TSO/E استدعاء الأوامر المعتمدة، على سبيل المثال، ولكن فقط للأوامر والبرامج والخدمات الموجودة في قائمة مُتحكَّم بها أثناء التثبيت.

موجه الأوامر

إشعار من جهاز BBC Micro بعد التشغيل أو إعادة الضبط الكامل

موجه الأوامر (أو ببساطة موجه الأوامر ) هو سلسلة من الأحرف (حرف واحد أو أكثر) تُستخدم في واجهة سطر الأوامر للإشارة إلى جاهزية النظام لتلقي الأوامر. وهو يحث المستخدم حرفيًا على اتخاذ إجراء. عادةً ما ينتهي موجه الأوامر بأحد الأحرف التالية $: %، ، ، #، [ 22 ] ، [ 23 ]: ، >أو [ 24 ] ، وغالبًا ما يتضمن معلومات أخرى، مثل مسار دليل العمل الحالي واسم المضيف .-

في العديد من أنظمة يونكس والأنظمة المشتقة منها ، ينتهي موجه الأوامر عادةً بـ أو إذا كان المستخدم مستخدمًا عاديًا، ولكن بـ إذا كان المستخدم مستخدمًا فائقًا ("root" في مصطلحات يونكس).$%#

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

في نظام DOS، وتحديدًا في ملف COMMAND.COM، وفي نظام Windows NT، يمكن للمستخدمين تعديل موجه الأوامر عن طريق إصدار PROMPTأمر أو بتغيير قيمة %PROMPT%متغير البيئةC:\> المقابل مباشرةً. يتم الحصول على النمط الافتراضي لمعظم الأنظمة الحديثة ، على سبيل المثال، باستخدام PROMPT $P$Gالأمر `. أما في أنظمة DOS القديمة، C>فيتم الحصول على النمط الافتراضي باستخدام الأمر ` ..... PROMPT، مع العلم أن هذا الأمر قد يُنتج النمط الأحدث في بعض الأنظمة C:\>، إلا إذا تم استخدامه على محركات الأقراص المرنة A: أو B:؛ في هذه الأنظمة، PROMPT $N$Gيمكن استخدام الأمر `...` لتجاوز النمط الافتراضي التلقائي والتبديل صراحةً إلى النمط الأقدم.

تتضمن العديد من أنظمة يونكس $PS1المتغير (سلسلة الموجه 1)، [ 25 ] على الرغم من أن متغيرات أخرى قد تؤثر أيضًا على الموجه (بحسب الصدفة المستخدمة). في صدفة باش، يكون الموجه بالشكل التالي:

[ الوقت ] المستخدم@المضيف: دليل_العمل $ 

يمكن ضبط ذلك عن طريق إصدار الأمر

export PS1 = '[\t] \u@\H: \W $'

في zsh، يتحكم المتغير في موجه$RPROMPT اختياري على الجانب الأيمن من الشاشة. وهو ليس موجهًا حقيقيًا لأن موضع إدخال النص لا يتغير. يُستخدم لعرض المعلومات على نفس سطر الموجه، ولكن بمحاذاة إلى اليمين.

في نظام التشغيل RISC OS، يكون موجه الأوامر *رمزًا، ولذلك غالبًا ما يُشار إلى أوامر واجهة سطر الأوامر (CLI) الخاصة بنظام التشغيل باسم أوامر النجمة . [ 26 ] يمكن أيضًا الوصول إلى نفس الأوامر من سطور أوامر أخرى (مثل سطر أوامر BBC BASIC )، وذلك بوضع علامة النجمة قبل الأمر *.

في نظام التشغيل TSO من IBM ، يُشار إلى موجه الأوامر باسم موجه READY، نسبةً إلى الكلمة READYالموجودة في الموجه.

مثال على شاشات نظام المطالبات
جميع المعلومات التي يمكن عرضها بواسطة نظام موجه الأوامر "Liquidprompt"، هنا باستخدام سمة "Jolly" الخاصة به
مثال على عرض Liquidprompt، باستخدام سمته الافتراضية
مثال على عرض Liquidprompt، باستخدام سمة "Pureship" الخاصة به
مثال على عرض Liquidprompt، باستخدام سمة "Powerline" الخاصة به

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

الحجج

سطر أوامر MS-DOS، يوضح عملية تحليل الأوامر والوسائط.

وسيط سطر الأوامر أو المعامل هو معلومة تُقدَّم للبرنامج عند بدء تشغيله. [ 27 ] يمكن أن يحتوي البرنامج على العديد من وسائط سطر الأوامر التي تحدد مصادر أو وجهات المعلومات، أو التي تُغيِّر طريقة عمل البرنامج.

عندما يكون معالج الأوامر نشطًا، يتم استدعاء البرنامج عادةً بكتابة اسمه متبوعًا بمعاملات سطر الأوامر (إن وجدت). على سبيل المثال، في بيئات يونكس والبيئات الشبيهة بيونكس ، مثال على معامل سطر الأوامر هو:

حذف الملف.s 

file.sهو وسيط سطر الأوامر الذي يخبر البرنامج rm بإزالة الملف المسمى file.s.

تسمح بعض لغات البرمجة، مثل C و C++ و Java ، للبرنامج بتفسير وسائط سطر الأوامر من خلال التعامل معها كمعاملات نصية في الدالة الرئيسية . [ 28 ] [ 29 ] بينما توفر لغات أخرى، مثل Python ، واجهة برمجة تطبيقات (وظائف) خاصة بنظام التشغيل من خلال sysالوحدة النمطية ، [ 30 ] وخاصةً sys.argvلوسائط سطر الأوامر .

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

خيار سطر الأوامر

يُعدّل خيار سطر الأوامر، أو ببساطة الخيار (المعروف أيضًا باسم الراية أو المفتاح )، طريقة عمل الأمر؛ ويُحدد تأثيره بواسطة برنامج الأمر. تأتي الخيارات بعد اسم الأمر في سطر الأوامر، مفصولة بفواصل، مثل الفواصل أو المسافات. لا تُشترط الفواصل دائمًا، مثل Dir/?الفاصلة ( DIR /?-) في نظام DOS، والتي لها نفس تأثير [ 24 ] في سرد ​​الخيارات المتاحة لأمر DIR، بينما يتطلبdir --help الأمر (في العديد من إصدارات Unix) أن يسبق الخيار مسافة واحدة على الأقل (وهو حساس لحالة الأحرف).

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

بعض الأمثلة التمثيلية لخيارات سطر الأوامر، ومعظمها يتعلق بسرد الملفات في دليل، لتوضيح بعض الاصطلاحات:

نظام التشغيليأمربديل صالحملحوظات
أوبن في إم إسdirectory/ownerDir /Ownerقم بتوجيه أمر الدليل لعرض ملكية الملفات أيضًا. لاحظ أن اسم أمر الدليل غير حساس لحالة الأحرف، ويمكن اختصاره إلى أقل عدد ممكن من الأحرف لضمان فرادته.
ويندوزDIR/Q/O:S d*dir /q d* /o:sيعرض هذا الأمر ملكية الملفات التي تبدأ أسماؤها بالحرف d (أو D)، مرتبة حسب الحجم، من الأصغر إلى الأصغر. يُرجى ملاحظة أن المسافات حول الوسيط d* مطلوبة.
أنظمة شبيهة بنظام يونكسls -lS D*ls -S -l D*يعرض هذا الأمر الملفات والمجلدات التي تبدأ أسماؤها بالحرف D (وليس d) بتنسيق طويل، مرتبة حسب الحجم (الأكبر أولاً). يُرجى ملاحظة أنه يجب وضع مسافات حول جميع الوسائط والخيارات، ولكن يمكن دمج بعضها معًا، على سبيل المثال، -lS هو نفسه -l -S .
واجهة سطر الأوامر RDOS من Data Generallist/e/s 04-26-80/bList /S/E 4-26-80/Bقم بإدراج كل سمة للملفات التي تم إنشاؤها قبل 26 أبريل 1980. لاحظ أن /B في نهاية وسيطة التاريخ هو مفتاح محلي ، يقوم بتعديل معنى تلك الوسيطة، بينما /S و /E هما مفتاحان عامان ، أي أنهما ينطبقان على الأمر بأكمله.
واجهة سطر الأوامر لنظام إدارة المحتوى/الآلة الافتراضيةLISTFILE (FULLDATE)l(fulيتضمن تاريخ آخر كتابة للملف في القائمة. لاحظ أن اسم أمر LISTFILE غير حساس لحالة الأحرف، ويمكن اختصاره إلى أقل عدد ممكن من الأحرف للحفاظ على فرادته.
أوامر تشغيل نظام التشغيل OS/360START TAPERDR,DSNAME=FOO.BARS TAPERDR,DSN=FOO.BARابدأ الإجراء المسمى TAPERDR باستخدام اسم مجموعة البيانات المقدم
TSOLISTCAT LEVEL(FOO) MEMBERSLISTC L(FOO) Mقم بإدراج مجموعات البيانات عند مستوى الفهرس المحدد وقم بإدراج الأعضاء لكل مجموعة بيانات جزئية (PDS) .
SEND 'text' USER(FOO)SE 'text' U(FOO)إرسال رسالة إلى المستخدم المحدد

تُستخدم عملية تحليل وسائط سطر الأوامر لتحليل وسائط البرنامج، وتتوفر هذه الوظيفة في لغات برمجة مختلفة. على سبيل المثال، توجد الدالة getopt() في مكتبة C POSIX لتحليل الوسائط.

اختصار الأوامر

في نظام Multics ، يمكن اختصار خيارات سطر الأوامر وكلمات النظام الفرعي. ويبدو أن هذه الفكرة مستوحاة من لغة البرمجة PL/I ، بكلماتها المختصرة (مثل STRG بدلاً من STRINGRANGE وDCL بدلاً من DECLARE). على سبيل المثال، في النظام الفرعي للمنتديات في Multics ، يمكن اختصار المعامل -long_subject إلى -lgsj . ومن الشائع أيضاً اختصار أوامر Multics، بحيث تتوافق عادةً مع الأحرف الأولى من الكلمات التي تُجمع معاً باستخدام الشرطات السفلية لتكوين أسماء الأوامر، مثل استخدام did بدلاً من delete_iacl_dir .

في بعض الأنظمة الأخرى، تكون الاختصارات تلقائية، مثل السماح باستخدام عدد كافٍ من الأحرف الأولى لاسم الأمر لتحديده بشكل فريد (مثل SUاختصار لـ SUPERUSER)، بينما قد تحتوي أنظمة أخرى على بعض الاختصارات المحددة المبرمجة مسبقًا (مثل MDفي MKDIRCOMMAND.COM) أو التي يحددها المستخدم عبر البرامج النصية الدفعية والأسماء المستعارة (مثل alias md mkdirفي tcsh ).

اصطلاحات الخيارات في أنظمة DOS وWindows وOS/2

في أنظمة التشغيل DOS و OS/2 و Windows، قد تستخدم البرامج المختلفة التي يتم استدعاؤها من ملفي COMMAND.COM أو CMD.EXE (أو من أوامرها الداخلية) صيغًا مختلفة ضمن نظام التشغيل نفسه. على سبيل المثال:

  • يمكن الإشارة إلى الخيارات باستخدام أحد رموز التبديل : /أو -، أو قد يُسمح باستخدام أي منهما. انظر أدناه.
  • قد تكون حساسة لحالة الأحرف أو لا .
  • أحيانًا يتم دمج الخيارات ووسائطها معًا، وأحيانًا يتم فصلها بمسافة بيضاء، وأحيانًا بحرف، عادةً :أو =؛ وبالتالي Prog -fFilename، Prog -f Filename، Prog -f:Filename، Prog -f=Filename.
  • تسمح بعض البرامج بدمج الخيارات المكونة من حرف واحد؛ [ 24 ] بينما لا تسمح بذلك برامج أخرى. -fAقد يعني هذا الخيار نفس معنى الخيار الآخر -f -A، [ 24 ] أو قد يكون غير صحيح، أو قد يكون حتى مُعاملًا صحيحًا ولكنه مختلف.

في أنظمة DOS و OS/2 و Windows ، يُعدّ استخدام الشرطة المائلة (/ /) هو الأكثر شيوعًا، على الرغم من استخدام الواصلة الناقصة (-) أحيانًا. في العديد من إصدارات DOS (MS-DOS/PC  DOS 2.xx والإصدارات الأحدث، وجميع إصدارات DR-DOS منذ الإصدار 5.0، بالإضافة إلى PTS-DOS و Embedded DOS و FreeDOS و RxDOS ) ، يتم تحديد حرف التبديل (يُختصر أحيانًا إلى switchar أو switchchar ) المراد استخدامه بواسطة قيمة مُعادة من استدعاء النظام ( INT 21h /AX=3700h). الحرف الافتراضي الذي تُعيده واجهة برمجة التطبيقات هذه هو /، ولكن يمكن تغييره إلى واصلة ناقصة (-) في الأنظمة المذكورة أعلاه، باستثناء Datalight ROM-DOS و MS-DOS/PC  DOS 5.0 والإصدارات الأحدث، والتي تُعيد دائمًا قيمة /من هذا الاستدعاء (إلا إذا تم تحميل أحد سجلات TSR المتاحة لإعادة تفعيل ميزة SwitChar). في بعض هذه الأنظمة (MS-DOS/PC  DOS 2.xx، وDOS Plus 2.1، وDR-DOS 7.02 والإصدارات الأحدث، وPTS-DOS، وEmbedded DOS، وFreeDOS، وRxDOS)، يمكن أيضًا ضبط الإعداد مسبقًا باستخدام توجيه SWITCHAR في ملف CONFIG.SYS . يوفر نظام Embedded DOS من General Software أمر SWITCH لنفس الغرض، بينما يسمح نظام 4DOS بتغيير الإعداد عبر [ 31 ]SETDOS /W:n . في نظام DR-DOS، إذا تم تغيير الإعداد من [0] ، فسيتغير فاصل الدليل الأول في عرض معلمة PROMPT إلى شرطة مائلة (وهي أيضًا فاصل دليل صالح في أنظمة DOS وFlexOS و4680 OS و4690 OS وOS/2 وWindows)، مما يوفر مؤشرًا مرئيًا للدلالة على التغيير. [ 24 ] كما ينعكس الإعداد الحالي أيضًا في شاشات المساعدة المدمجة. [ ٢٤ ] تدعم بعض إصدارات DR-DOS COMMAND.COM رمز PROMPT لعرض الإعدادات الحالية. كما يوفر COMMAND.COM منذ DR-DOS 7.02 متغير بيئة وهمي يسمح بكتابة مهام دفعية محمولة. [ ٣٢ ] [ ٣٣ ] بالإضافة إلى ذلك، تدعم العديد من أوامر DR-DOS الخارجية متغير بيئة لتجاوز إعدادات النظام./\$G/$/%/%%SWITCHAR%

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

اصطلاحات الخيارات في الأنظمة الشبيهة بنظام يونكس

في الأنظمة الشبيهة بنظام يونكس ، تبدأ الخيارات بعلامة الطرح (-) في نظام ASCII ؛ أما الاصطلاح الجديد (والقاسم في نظام GNU ) فهو استخدام شرطتين متبوعتين بكلمة (مثلاً: --create) لتحديد استخدام الخيار، بينما الاصطلاح القديم (والذي لا يزال متاحًا كخيار للخيارات شائعة الاستخدام) هو استخدام شرطة واحدة متبوعة بحرف واحد (مثلاً: -c)؛ إذا تبعت شرطة واحدة حرفان أو أكثر، فقد يعني ذلك تحديد خيارين، أو قد يعني أن الحرف الثاني والأحرف اللاحقة هي معلمات (مثل اسم الملف أو التاريخ) للخيار الأول. [ 34 ]

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

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

اتفاقيات الخيارات في الأنظمة الأخرى

استخدام نظام التشغيل FlexOS و 4680 OS و 4690 OS- .

يُستخدم نظام CP/M[ عادةً .

يستخدم نظام مراقبة المحادثات (CMS) قوسًا مفتوحًا واحدًا لفصل الخيارات في نهاية الأمر عن الوسائط الأخرى. على سبيل المثال، في الأمر التالي، تشير الخيارات إلى أنه يجب استبدال الملف الهدف إذا كان موجودًا، ويجب الاحتفاظ بتاريخ ووقت الملف المصدر في النسخة. COPY source file a target file b (REPLACE OLDDATE)

تستخدم أوامر مشغل نظام التشغيل OS/360 قائمة مفصولة بفواصل من المعلمات الموضعية والكلمات المفتاحية؛ ولا تُقبل إلا اختصارات الأوامر والكلمات المفتاحية الموثقة. وتُفصل قيم الكلمات المفتاحية عن الكلمات المفتاحية بعلامات المساواة.

تستخدم أوامر TSO قائمة مفصولة بمسافات من المعاملات الموضعية والكلمات المفتاحية؛ ويمكن اختصار الكلمات المفتاحية إلى أي سلسلة فرعية فريدة. الاختصارات الموثقة فقط هي الصالحة. تُوضع قيم الكلمات المفتاحية بين قوسين.

تستخدم واجهة سطر الأوامر (CLI) الخاصة بشركة Data General في أنظمة التشغيل RDOS و AOS وما إلى ذلك، بالإضافة إلى إصدار واجهة سطر الأوامر الذي جاء مع Business Basic/ ، حرف التبديل فقط، وهي غير حساسة لحالة الأحرف، وتسمح بالتبديلات المحلية على بعض الوسائط للتحكم في طريقة تفسيرها، مثل MAC/U LIB/S A B C $LPT/Lالخيار العام Uلأمر تجميع الماكرو لإلحاق رموز المستخدم، ولكن هناك تبديلان محليان، أحدهما لتحديد ما إذا كان يجب تخطي LIB في المرحلة 2 والآخر لتوجيه القائمة إلى الطابعة، $LPT.

مساعدة مدمجة في الاستخدام

من بين الانتقادات الموجهة لواجهة سطر الأوامر (CLI) افتقارها إلى مؤشرات واضحة للمستخدم حول الإجراءات المتاحة. [ 35 ] في المقابل، تُعلم واجهات المستخدم الرسومية (GUI) المستخدم عادةً بالإجراءات المتاحة من خلال القوائم أو الأيقونات أو غيرها من المؤشرات المرئية. [ 36 ] وللتغلب على هذا القصور، تعرض العديد من برامج واجهة سطر الأوامر رسالة استخدام ، عادةً عند استدعائها بدون وسائط أو مع أحد الوسائط التالية ?: -?[ 24 ] [ 37 ] [ 38 ]-h-H/?/h/H/Help-help--help

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

على الرغم من أن دعم جميع أحرف بداية الخيارات المذكورة أعلاه مرغوب فيه، على الأقل بالنسبة لمعامل المساعدة، إلا أن البرامج قد لا تدعمها. في نظام DOS، حيث يمكن تغيير حرف خيار سطر الأوامر/ الافتراضي من إلى -، يمكن للبرامج الاستعلام من واجهة برمجة تطبيقات SwitChar لتحديد الإعداد الحالي. لذا، إذا لم يكن البرنامج مُبرمجًا لدعم جميع الأحرف، فقد يحتاج المستخدم إلى معرفة الإعداد الحالي حتى يتمكن من طلب المساعدة بشكل موثوق. إذا تم تغيير SwitChar إلى ، -وبالتالي /يتم قبول الحرف كفاصل مسار بديل في سطر أوامر DOS، فقد تُسيء البرامج تفسير خيارات مثل /hأو /Hكمسارات بدلاً من معلمات مساعدة. [ 24 ] ومع ذلك، إذا تم إدخالها كمعلمة أولى أو وحيدة، فإن معظم برامج DOS، وفقًا للاتفاقية ، ستقبلها كطلب مساعدة بغض النظر عن إعداد SwitChar الحالي. [ 24 ] [ 31 ]

في بعض الحالات، يمكن اختيار مستويات مختلفة من المساعدة للبرنامج. تسمح بعض البرامج التي تدعم هذه الميزة بتحديد مستوى الإسهاب كوسيط اختياري لمعامل المساعدة (كما في `<help>` /H:1, /H:2`<help>`, `<help>`, إلخ)، أو أنها توفر مساعدة مختصرة فقط لمعاملات المساعدة التي تحمل علامة استفهام، وشاشة مساعدة أطول لخيارات المساعدة الأخرى. [ 39 ]

بحسب البرنامج، قد تتوفر مساعدة إضافية أو أكثر تحديدًا بشأن المعاملات المقبولة، وذلك إما بتوفير المعامل المعني كوسيط لمعامل المساعدة أو العكس (كما في المثال /H:Wأو في /W:?(بافتراض أن /Wسيكون معاملًا آخر يدعمه البرنامج)). [ 40 ] [ 41 ] [ 38 ] [ 37 ] [ 39 ] [ nb 1 ]

على غرار معلمة المساعدة، ولكن بشكل أقل شيوعًا، تقدم بعض البرامج معلومات إضافية عن نفسها (مثل الوضع، والحالة، والإصدار، والمؤلف، والترخيص، أو معلومات الاتصال) عند استدعائها باستخدام معلمة حول مثل -!، /!، -about، أو --about. [ 37 ]

بما أن الأحرف ?و !تخدم عادةً أغراضًا أخرى في سطر الأوامر، فقد لا تكون متاحة في جميع السيناريوهات، لذلك، لا ينبغي أن تكون الخيارات الوحيدة للوصول إلى معلومات المساعدة المقابلة.

نهاية مخرجات أمر المساعدة من جهاز RT-11SJ المعروضة على جهاز VT100

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

في عائلة أنظمة DR-DOS، يؤدي كتابة `<div>` /?أو ` /H<div>` في موجه COMMAND.COM بدلاً من كتابة أمرٍ مُحدد إلى عرض قائمة مُولّدة ديناميكيًا بالأوامر الداخلية المُتاحة؛ [ 24 ] يدعم نظاما 4DOS و NDOS الميزة نفسها بكتابة `<div>` ?في الموجه [ 31 ] (وهو ما تقبله أيضًا الإصدارات الأحدث من DR-DOS COMMAND.COM)؛ يُمكن تعطيل الأوامر الداخلية أو إعادة تمكينها بشكلٍ فردي عبر `<div>` SETDOS /I. [ 31 ] بالإضافة إلى ذلك، تقبل بعض الإصدارات الأحدث من DR-DOS COMMAND.COM أيضًا ?%أمرًا لعرض قائمة بمتغيرات البيئة الوهمية المُدمجة المُتاحة . إلى جانب استخدامها كمرجع مساعدة سريع، يُمكن استخدام هذه القائمة في مهام الدفعات للاستعلام عن إمكانيات مُعالج سطر الأوامر الأساسي. [ 24 ]

وصف الأمر بناء الجملة

تستخدم صفحات المساعدة المدمجة وصفحة الدليل عادةً صيغة صغيرة لوصف شكل الأمر الصحيح: [ 42 ] [ 43 ] [ 44 ] [ nb 2 ]

  • الأقواس الزاوية للمعاملات المطلوبة :ping <hostname>
  • الأقواس المربعة للمعاملات الاختيارية :mkdir [-p] <dirname>
  • علامات الحذف للعناصر المتكررة :cp <source1> [source2…] <dest>
  • أشرطة عمودية لاختيار العناصر :netstat {-t|-u}

لاحظ أن لهذه الأحرف معاني مختلفة عن استخدامها مباشرةً في سطر الأوامر. يمكن حذف الأقواس الزاوية عندما يكون من غير المحتمل الخلط بين اسم المعامل وسلسلة نصية حرفية.

شخصية الفضاء

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

Long path/Long program name Parameter one Parameter two...

الأمر غامض (هل اسم البرنامج جزء من اسم البرنامج، أم أنه معلَمتان؟)؛ ومع ذلك

Long_path/Long_program_name Parameter_one Parameter_two...,
LongPath/LongProgramName ParameterOne ParameterTwo...,
"Long path/Long program name" "Parameter one" "Parameter two"...

و

Long\ path/Long\ program\ name Parameter\ one Parameter\ two...

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

مترجم أوامر سطر الأوامر

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

يُطلق مصطلح مُفسِّر سطر الأوامر على برامج الحاسوب المصممة لتفسير سلسلة من أسطر النصوص التي يُدخلها المستخدم، أو يقرأها من ملف أو أي نوع آخر من تدفق البيانات . وعادةً ما يكون سياق التفسير خاصًا بنظام تشغيل أو لغة برمجة مُحددة .

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

تُسهّل آلية يونكس #!وأمر EXTPROC في نظام التشغيل OS/2 تمرير ملفات الدفعات إلى معالجات خارجية. ويمكن استخدام هذه الآليات لكتابة معالجات أوامر مُخصصة لاستخدامات مُحددة، ومعالجة ملفات البيانات الخارجية الموجودة في ملفات الدفعات.

تستخدم العديد من واجهات المستخدم الرسومية، مثل مدير العرض التقديمي لنظام التشغيل OS/2 والإصدارات الأولى من نظام التشغيل مايكروسوفت ويندوز، سطور الأوامر لاستدعاء برامج مساعدة لفتح المستندات والبرامج. تُخزَّن الأوامر في واجهة المستخدم الرسومية أو في ملفات مثل سجل النظام أو ملف نظام التشغيل OS/2OS2USER.INI .

التاريخ المبكر

لوحة مفاتيح طابعة عن بعد من طراز Teletype 33 ASR مزودة بقارئ شريط مثقوب ومثقب
طرفية DEC VT52

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

منذ الستينيات فصاعدًا، كان تفاعل المستخدم مع أجهزة الكمبيوتر يتم بشكل أساسي عن طريق واجهات سطر الأوامر، في البداية على أجهزة مثل Teletype Model 33 ASR، ولكن بعد ذلك على محطات الكمبيوتر المبكرة القائمة على CRT مثل VT52 .

كانت جميع هذه الأجهزة تعتمد كلياً على النصوص، دون القدرة على عرض الرسومات أو الصور. [ ملاحظة 3 ] بالنسبة لبرامج تطبيقات الأعمال، استُخدمت قوائم نصية ، ولكن للتفاعل العام، كانت واجهة سطر الأوامر هي المستخدمة.

في حوالي عام 1964، قدم لويس بوزان المفهوم والاسم "شل" في نظام Multics ، معتمداً على تسهيلات سابقة وأبسط في نظام المشاركة الزمنية المتوافقة (CTSS). [ 46 ]

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

كانت واجهة سطر الأوامر هي الواجهة الرئيسية لأجهزة الكمبيوتر المنزلية الأولى مثل كومودور بي إي تي ، وأبل 2 ، وبي بي سي مايكرو  ، وكانت في الغالب على شكل مترجم لغة بيسك . وعندما ظهرت أجهزة الكمبيوتر الصغيرة الأكثر قوة والموجهة للأعمال بنظام CP/M ، ثم لاحقًا أجهزة الكمبيوتر التي تعمل بنظام DOS مثل آي بي إم بي سي ، بدأت واجهة سطر الأوامر في استعارة بعض قواعد وميزات أنظمة يونكس، مثل استخدام أنماط الأحرف الكبيرة وتوجيه المخرجات.

واجهت واجهة سطر الأوامر تحديًا جديًا في البداية من خلال نهج واجهة المستخدم الرسومية (GUI) الذي استخدمه مركز أبحاث بارك (PARC) في جهازي أبل ليزا (1983) وأبل ماكنتوش (1984) . استخدم عدد قليل من مستخدمي الحاسوب واجهات رسومية مثل GEOS وويندوز 3.1، لكن غالبية مستخدمي أجهزة IBM PC لم يستبدلوا واجهة سطر الأوامر (COMMAND.COM) بواجهة رسومية إلا بعد إصدار ويندوز 95 عام 1995. [ 47 ] [ 48 ]

الاستخدام الحديث كواجهة نظام تشغيل

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

كتابة البرامج النصية

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

في المقابل، يمكن استخدام لغات البرمجة النصية ، وخاصة تلك التي تحتوي على دالة eval (مثل REXX و Perl و Python و Ruby و Jython )، لتنفيذ مترجمات وفلاتر سطر الأوامر. بالنسبة لبعض أنظمة التشغيل ، وأبرزها DOS ، يوفر مترجم الأوامر هذا واجهة سطر أوامر أكثر مرونة من الواجهة المُدمجة. وفي حالات أخرى، يمكن لمترجم الأوامر هذا تقديم واجهة مستخدم مُخصصة للغاية باستخدام واجهة المستخدم وإمكانيات الإدخال/الإخراج الخاصة باللغة.

واجهات سطر الأوامر الأخرى

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

توفر برامج مثل BASIC و diskpart و Edlin وQBASIC واجهات سطر أوامر، بعضها يستخدم واجهة سطر الأوامر. يُحاكي برنامج BASIC الواجهة الافتراضية لأجهزة الكمبيوتر ذات معالجات Intel 8 بت. ويمكن تشغيل الآلات الحاسبة عبر واجهات سطر الأوامر أو واجهات الحوار.

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

توجد العديد من ألعاب نمط النص، مثل Adventure أو King's Quest 1-3 ، والتي تعتمد على كتابة المستخدم للأوامر أسفل الشاشة. يتحكم اللاعب بالشخصية عن طريق كتابة أوامر مثل "أحضر الخاتم" أو "انظر". يُعيد البرنامج نصًا يصف كيف ترى الشخصية الشيء، أو كيف تُنفّذ الفعل. لعبة المغامرات النصية The Hitchhiker's Guide to the Galaxy ، وهي عمل روائي تفاعلي مُقتبس من كتاب دوغلاس آدامز الذي يحمل نفس الاسم، هي لعبة سطر أوامر على غرار ألعاب التلكس.

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

تتيح واجهة سطر الأوامر الأخرى لبرنامج shell تشغيل برامج مساعدة، سواءً لفتح مستندات أو بدء برنامج. تتم معالجة الأمر داخليًا بواسطة shell، ثم يُمرر إلى برنامج آخر لتشغيل المستند. تعتمد الواجهة الرسومية لنظامي التشغيل Windows و OS/2 بشكل كبير على أوامر سطر الأوامر التي تُمرر إلى برامج أخرى  - سواءً كانت سطر أوامر أو رسومية - والتي عادةً ما تعالج سطر الأوامر دون عرض نافذة تحكم للمستخدم.

يمكن لبرامج مثل محرر OS/2 E وبعض محررات IBM الأخرى معالجة سطور الأوامر المخصصة عادةً للصدفة، حيث يتم وضع الإخراج مباشرة في نافذة المستند.

يمكن استخدام حقل إدخال عنوان URL في متصفح الويب كسطر أوامر. يُمكن استخدامه لتشغيل تطبيقات الويب ، والوصول إلى إعدادات المتصفح ، بالإضافة إلى إجراء عمليات البحث. جوجل ، التي تُوصف بأنها "سطر أوامر الإنترنت"، تُجري بحثًا مُخصصًا للمجال عند اكتشافها لمعلمات بحث بتنسيق معروف. [ 58 ] هذه الخاصية متاحة سواءً تم بدء البحث من حقل المتصفح أو على موقع جوجل الإلكتروني.

توجد مكتبات جافا سكريبت تُساعد المطورين على كتابة تطبيقات سطر الأوامر للمتصفح، سواءً كتطبيقات ويب مستقلة أو كجزء من تطبيقات أكبر. [ 59 ] ومن أمثلة هذه المواقع واجهة سطر الأوامر لمحرك البحث DuckDuckGo . [ 60 ] كما توجد تطبيقات SSH عبر الويب تُتيح الوصول إلى واجهة سطر أوامر الخادم من المتصفح.

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

انظر أيضاً

ملحوظات

  1. مثال على ذلك نظام المساعدة الداخلي الشامل لأمر DEBUG في DR-DOS 7.03 ، والذي يمكن استدعاؤه عبرموجه التصحيح (بدلاً منالعرض العام الافتراضي فقط). يمكن تحديد صفحات مساعدة محددة عبر(حيثيمثل رقم الصفحة). بالإضافة إلى ذلك، يمكن عرض المساعدة لأوامر محددة بتحديد اسم الأمر بعد، حيث سيؤدي الأمر feإلى استدعاء المساعدة لأوامر التفريغ المختلفة (مثلإلخ). بعض هذه الميزات كانت مدعومة بالفعل من قبل DR-DOS 3.41 SID86 و GEMSID .????nn??DD
  2. ثمة فرق ملحوظ في وصف صيغة أوامر أنظمة التشغيل الشبيهة بنظام DOS : يستخدم توثيق Windows Server 2003 R2 الأحرف المائلة لـ "المعلومات التي يجب على المستخدم إدخالها"، بينما يستخدم توثيق Windows Server 2008 الأقواس الزاوية. لا يمكن عرض الأحرف المائلة بواسطة أمر المساعدة الداخلي ، بينما لا توجد مشكلة مع الأقواس الزاوية.
  3. باستثناء فن ASCII .

مراجع

  1. "واجهة سطر الأوامر لـ SQLite" . مؤرشف من الأصل بتاريخ 2022-10-06 . تم الاطلاع عليه بتاريخ 2025-07-09 .
  2. "CAS - تهيئة واجهة سطر الأوامر" .
  3. "تطور واجهة سطر الأوامر (CLI): نظرة تاريخية | كونتنتستاك" . www.contentstack.com . مؤرشف من الأصل بتاريخ 12 فبراير 2025. تم الاطلاع عليه بتاريخ 28 يناير 2025 .
  4. "4 يوليو: جهاز Whirlwind من معهد ماساتشوستس للتكنولوجيا يسمح بإدخال البيانات عبر لوحة المفاتيح | هذا اليوم في التاريخ | متحف تاريخ الحاسوب" . www.computerhistory.org . تاريخ الوصول: 21 مايو 2026 .
  5. إدواردز، بنج (17 مايو 2021). "ما هي أجهزة الطباعة عن بعد، ولماذا استُخدمت مع أجهزة الكمبيوتر؟" . موقع How-To Geek . تاريخ الاسترجاع: 21 مايو 2026 .
  6. "Unix Shells" . مؤرشف من الأصل في 2007-11-08. يُنسب مفهوم وجود "صدفة أوامر" قابلة للاستبدال بدلاً من "شاشة" متكاملة بشكل وثيق مع نواة نظام التشغيل إلى Multics.
  7. ١ ٢ "أصل الصدفة" . www.multicians.org . مؤرشف من الأصل بتاريخ ٢١ ديسمبر ٢٠١٧. تم الاطلاع عليه بتاريخ ١٢ أبريل ٢٠١٧ .
  8. ميتز، كيد (2013-01-03). "قل مرحباً للعم الفرنسي المفقود منذ زمن طويل على الإنترنت" . وايرد . مؤرشف من الأصل في 2017-02-11 . تم الاسترجاع في 2017-07-31 .
  9. مازيير، ديفيد (خريف 2004). "MULTICS - السنوات السبع الأولى" . أنظمة التشغيل المتقدمة . قسم علوم الحاسوب بجامعة ستانفورد. مؤرشف من الأصل بتاريخ 23 نوفمبر 2014. تم الاطلاع عليه بتاريخ 1 أغسطس 2017 .
  10. 1 2 جونز، م. (2011-12-06). "تطور الصدف في لينكس" . developerWorks . IBM . مؤرشف من الأصل في 2017-07-08 . تم الاسترجاع في 2017-08-01 .
  11. "تاريخ واجهة المستخدم الرسومية" . KASS . تم الاسترجاع في 24-03-2024 .
  12. سينغ، أميت (19 يونيو 2006). أساسيات نظام التشغيل ماك أو إس إكس: منهج النظم . أديسون-ويسلي بروفيشنال. ISBN 978-0-13-270226-3.
  13. "1. سطر الأوامر والبيئة" . وثائق بايثون . مؤرشف من الأصل بتاريخ 2024-08-05 . تم الاطلاع عليه بتاريخ 2024-08-05 .
  14. "ما هي واجهة سطر الأوامر؟ - شرح واجهة سطر الأوامر - AWS" . شركة أمازون لخدمات الويب . مؤرشف من الأصل بتاريخ 14 يناير 2025. تم الاطلاع عليه بتاريخ 28 يناير 2025 .
  15. "مرجع جنو باش" . مؤرشف من الأصل بتاريخ 2010-12-03 . تم الاطلاع عليه بتاريخ 2015-12-20 .
  16. "نظرة عامة على واجهة أوامر مايكروسوفت ويندوز" . 11-09-2009. مؤرشف من الأصل في 05-09-2015 . تم الاطلاع عليه في 12-07-2015 .
  17. "قائمة أوامر Shell المدمجة" . دليل لينكس . 2023-07-05 . تم الاطلاع عليه بتاريخ 2024-08-05 .
  18. ب، جيسون. "كيفية ضبط متغير $PATH في لينكس | Opensource.com" . opensource.com . تم الاطلاع عليه بتاريخ 2024-08-05 .
  19. JasonGerend (2023-02-03). "path" . learn.microsoft.com . مؤرشف من الأصل بتاريخ 2024-06-27 . تم الاطلاع عليه بتاريخ 2024-08-05 .
  20. "واجهة سطر الأوامر (CLI)" . tutorials.cloudfoundry.org . مؤرشف من الأصل بتاريخ 11 فبراير 2025. تم الاطلاع عليه بتاريخ 28 يناير 2025 .
  21. تعلم باش شيل . برمجة يونكس شيل ( الطبعة الثانية). أورايلي ميديا . يناير 1998. ISBN  978-1-56592-347-8أُرشف من المصدر الأصلي بتاريخ 2024-08-05 . تم الاطلاع عليه بتاريخ 2024-08-05 .
  22. دليل مستخدمي SID (ملف PDF) . البحث الرقمي . 1978. 595-2549. مؤرشف (ملف PDF) من الأصل بتاريخ 20-10-2019 . تم الاطلاع عليه بتاريخ 06-02-2020 .(4+69 صفحة)
  23. دليل مستخدم SID-86 لنظام CP/M-86 ( الطبعة الثانية). ديجيتال ريسيرش . أغسطس 1982 [مارس 1982]. SID86UG.WS4. مؤرشف من الأصل بتاريخ 20 أكتوبر 2019. تم الاطلاع عليه بتاريخ 6 فبراير 2020 . (ملاحظة: نسخة معاد كتابتها من الدليل بواسطة إيمانويل روش مع إضافة أوامر Q و SR و Z.)
  24. 1 2 3 4 5 6 7 8 9 10 11 بول ، ماتياس ر. (1997/07/30). "نصائح NWDOS - نصائح وحيل تعمل على نظام التشغيل Novell DOS 7، مع النقر على تفاصيل غير موثقة وأخطاء وحلول بديلة" . MPDOSTIP . الإصدار 157 (باللغة الألمانية) (3 ed.). مؤرشفة من الأصلي بتاريخ 2017-09-10 . تم الاسترجاع 2014/09/06 . (ملاحظة: يُعدّ ملف NWDOSTIP.TXT مرجعًا شاملًا حول نظامي التشغيل Novell DOS 7 و OpenDOS 7.01 ، ويتضمن وصفًا للعديد من الميزات والتفاصيل الداخلية غير الموثقة. وهو جزء من مجموعة MPDOSTIP.ZIP الأكبر حجمًا التي احتفظ بها المؤلف حتى عام 2001، والتي تم توزيعها على العديد من المواقع في ذلك الوقت. يشير الرابط المرفق إلى نسخة أقدم من ملف NWDOSTIP.TXT تم تحويلها إلى صيغة HTML.)
  25. باركر، ستيف (2011). "الفصل 11: اختيار واستخدام الصدفات". برمجة الصدفة: وصفات الخبراء لنظام لينكس، وباش، والمزيد . من مبرمج إلى مبرمج. إنديانابوليس، الولايات المتحدة الأمريكية: جون وايلي وأولاده . ص 262. ISBN  978-111816632-1تحتوي واجهة الأوامر على أربعة موجهات أوامر مختلفة، تسمى PS1 و P52 و P53 و PS4 . PS تعني سلسلة موجه الأوامر.
  26. دليل مستخدم نظام التشغيل RISC OS 3 (ملف PDF) . شركة Acorn Computers المحدودة . 1992-03-01. صفحة 125. مؤرشف (ملف PDF) من الأصل بتاريخ 2017-01-09 . تم الاطلاع عليه بتاريخ 2017-04-12 . 
  27. نغوين داوز (29 مايو 2024). "وسائط سطر أوامر ويندوز تيرمينال" . learn.microsoft.com . مؤرشف من الأصل في 5 أغسطس 2024. تم الاطلاع عليه في 5 أغسطس 2024 .
  28. "وسائط سطر الأوامر في لغة C" . www.w3schools.in . مؤرشف من الأصل بتاريخ 2024-08-05 . تم الاطلاع عليه بتاريخ 2024-08-05 .
  29. "وسائط سطر الأوامر في جافا" . جيكس فور جيكس . ١٦ أغسطس ٢٠١٦. مؤرشف من الأصل في ٥ أغسطس ٢٠٢٤. تم الاطلاع عليه في ٥ أغسطس ٢٠٢٤ .
  30. "sys — معلمات ووظائف خاصة بالنظام" . وثائق بايثون . تم الاطلاع عليه بتاريخ 27-03-2026 .
  31. 1 2 3 4 براذرز، هاردين؛ راوسون، توم ؛ كون، ريكس سي .؛ بول، ماتياس ر.؛ داي، تشارلز إي.؛ جورجيف، لوتشيزار آي. (27-02-2002). المساعدة عبر الإنترنت لنظام 4DOS 8.00 .
  32. بول، ماتياس ر. (998-01-09). DELTREE.BAT R1.01 حذف الملفات والمجلدات الموسّع . شركة كالدرا. مؤرشف من الأصل في 2019-04-08 . تم الاسترجاع في 2019-04-08 .
  33. DR-DOS 7.03 WHATSNEW.TXT — التغييرات من DR-DOS 7.02 إلى DR-DOS 7.03 . كالديرا، وشركة 1998-12-24. مؤرشف من الأصل بتاريخ 2019-04-08 . تم الاسترجاع 2019-04-08 . 
  34. "بنية الوسائط (مكتبة GNU C)" . gnu.org . مؤرشف من الأصل بتاريخ 18-06-2021 . تم الاطلاع عليه بتاريخ 09-07-2021 .
  35. كاسيباتلا، ساكيث رام؛ ميدليري هيريمات، كيران؛ روثكوف، رافين؛ ليرنر، سورين؛ شيا، هايجون؛ هيمبل، برايان (2025-10-01). دليل سطر الأوامر: واجهات رسومية من صفحات الدليل عبر الذكاء الاصطناعي . جامعة كاليفورنيا، سان دييغو . تاريخ الاسترجاع: 2026-06-15 .
  36. كاسيباتلا، ساكيث رام؛ ميدليري هيريمات، كيران؛ روثكوف، رافين؛ ليرنر، سورين؛ شيا، هايجون؛ هيمبل، برايان (2025-10-01). دليل سطر الأوامر: واجهات رسومية من صفحات الدليل عبر الذكاء الاصطناعي . جامعة كاليفورنيا، سان دييغو . تاريخ الاسترجاع: 2026-06-15 .
  37. 1 2 3 بول، ماتياس ر. (13-05-2002). " [ fd-dev ] mkeyb" . freedos-dev . تم الاسترجاع في 10-09-2018 . […] CPI /H […] CPI [@] [@] [/?|/Help[:topic]) [/!|/About] […] [?|&] […] /?, /Help عرض شاشة المساعدة هذه أو مساعدة محددة لموضوع (+) […] /!, /About عرض شاشة معلومات "حول" […] /Cpifile (+) .CPI/.CP اسم الملف <EGA.CPI>؛ الامتداد: <.CPI>؛ CPI.EXE=StdIn […] /Report اسم ملف التقرير <''=StdOut>; الامتداد: <.RPT> […] /Style (+) تصدير <0>-6=BIN-raw/ROM/RAM/PSF0/1/SH/CHED; 7-12/13-18/19-24=ASM-hex/dec/bin/ip/il/p/l/mp/ml […] CPI /H:C […] نظرة عامة على استخدام معلمات ملف صفحة الترميز: […] CPI /H:S […] نظرة عامة على معلمات /Style: […]  ؟، ووضع التحرير عبر الإنترنت (يطلب إدخال معلمات إضافية) […]{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  38. ١ ٢ بول، ماتياس ر. (٢٠٠٢-٠١-٠٩). "SID86" . مجموعة الأخبار : comp.os.cpm . تم الاسترجاع في ٢٠١٨-٠٤-٠٨ . [...] بما أن برنامج تصحيح الأخطاء DR-DOS 7.03 لا يزال يعتمد على ملف SID86.EXE القديم ، أقترح تشغيل DEBUG 1.51 والدخول إلى نظام المساعدة الموسع باستخدام ?? من موجه التصحيح. سيوفر لك هذا ثماني شاشات مليئة بمعلومات حول بناء الجملة والميزات. بعض هذه الميزات كانت مدعومة أيضًا في الإصدارات السابقة. [...]  {{cite newsgroup}}: CS1 maint: deprecated archiveal service ( link )
  39. 1 2 بول، ماتياس ر.؛ فرينك، أكسل س. (16-01-2006). FreeKEYB - برنامج تشغيل لوحة المفاتيح ووحدة التحكم الدولية المتقدمة لنظام DOS (دليل المستخدم) ( الإصدار 7 التجريبي). 
  40. وثائق نظام التشغيل CCI Multiuser DOS 7.22 GOLD عبر الإنترنت . شركة Concurrent Controls, Inc. (CCI). 10-02-1997. HELP.HLP.(ملاحظة: يوفر مصحح الأخطاء الرمزي للتعليمات SID86 شاشة مساعدة قصيرة ?ومساعدة شاملة حول ??.)
  41. بول، ماتياس ر. (24-05-1997) [1991]. "DRDOSTIP.TXT – نصائح وحيل لنظام DR DOS 3.41 - 5.0" . MPDOSTIP (بالألمانية) ( الطبعة 47). مؤرشف من الأصل بتاريخ 07-11-2016 . تم الاطلاع عليه بتاريخ 07-11-2016 . 
  42. "مواصفات المجموعة المفتوحة الأساسية، الإصدار 7، الفصل 12.1: بناء جملة وسيطات الأدوات المساعدة" . المجموعة المفتوحة . 2008. مؤرشف من الأصل في 30 أبريل 2013. تم الاطلاع عليه في 7 أبريل 2013 .man-pages(7) دليل اتفاقيات لينكس والمتفرقات (ملاحظة: اتفاقيات لوصف الأوامر في أنظمة التشغيل الشبيهة بنظام يونكس). 
  43. "نظرة عامة على واجهة سطر الأوامر" . مساعدة منتج Windows Server 2003. مايكروسوفت . 21 يناير 2005. مؤرشف من الأصل في 12 يوليو 2012. تم الاطلاع عليه في 7 أبريل 2013 .
  44. "مفتاح بناء جملة سطر الأوامر" . مكتبة Windows Server 2008 R2 TechNet . مايكروسوفت . 25 يناير 2010. مؤرشف من الأصل في 4 مايو 2013. تم الاطلاع عليه في 7 أبريل 2013 .
  45. كيرنيغان، برايان دبليوبايك، روب (1984). بيئة برمجة يونكس . إنجلوود كليفس: برنتيس هول . ISBN 0-13-937699-2.
  46. بوزان، لويس. "أصل الصدفة" . Multicians.org . مؤرشف من الأصل بتاريخ 21-12-2017 . تم الاطلاع عليه بتاريخ 22-09-2013 .
  47. ويلكوكس، جو (24 أغسطس 2010). "استذكار إطلاق ويندوز 95 بعد 15 عامًا" . بيتا نيوز . مؤرشف من الأصل في 18 فبراير 2015. تم الاطلاع عليه في 18 فبراير 2015 .
  48. "تاريخ نظام التشغيل ويندوز" . windows.microsoft.com . مؤرشف من الأصل بتاريخ 2015-03-01.
  49. "master - platform/external/mksh - Git at Google" . android.googlesource.com . مؤرشف من الأصل بتاريخ 21 يناير 2016. تم الاطلاع عليه بتاريخ 18 مارس 2018 .
  50. "Android adb shell - ash or ksh?" . stackoverflow.com . مؤرشف من الأصل بتاريخ 2017-07-02 . تم الاطلاع عليه بتاريخ 2018-03-14 .
  51. "مصدر Android sh" . GitHub .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  52. "مصدر أدوات أندرويد" . جيت هاب .
  53. "توافق نظام التشغيل ويندوز مع معيار POSIX" . 22 فبراير 2013. مؤرشف من الأصل في 3 يوليو 2017. تم الاطلاع عليه في 26 أغسطس 2017 .
  54. openharmony/third_party_toybox ، أوبن هارموني، ١٤ أكتوبر ٢٠٢١، مؤرشف من الأصل في ٧ يوليو ٢٠٢٤ ، تم استرجاعه في ٧ يوليو ٢٠٢٤
  55. "调测 - Shell介绍 - 《华为鸿蒙操作系统(OpenHarmony) v1.0 开发者文档》 - 书栈网 · BookStack" . www.bookstack.cn . مؤرشفة من الأصلي بتاريخ 2024-07-07 . تم الاسترجاع بتاريخ 2024-07-07 .
  56. "دليل أساسيات التكوين، إصدار Cisco IOS 15M&T" . سيسكو . 30-10-2013. استخدام واجهة سطر الأوامر. مؤرشف من الأصل في 18-11-2016 . تم الاسترجاع في 28-11-2016 . تُعد واجهة سطر الأوامر (CLI) لنظام Cisco IOS واجهة المستخدم الرئيسية...
  57. "نظرة عامة على واجهة سطر الأوامر" . www.juniper.net . مؤرشف من الأصل بتاريخ 8 سبتمبر 2003. تم الاطلاع عليه بتاريخ 14 مارس 2018 .
  58. "جوجل: أشياء غريبة رائعة" . مؤرشف من الأصل بتاريخ 4 مارس 2014. تم الاطلاع عليه بتاريخ 27 فبراير 2014 .
  59. "محاكي طرفية jQuery" . مؤرشف من الأصل بتاريخ 2021-04-20 . تم الاطلاع عليه بتاريخ 2021-04-20 .
  60. "DuckDuckGo TTY" . مؤرشف من الأصل بتاريخ 2021-05-07 . تم الاطلاع عليه بتاريخ 2021-04-20 .
  • جذور نظام التشغيل DOS، ديفيد هنتر، سوفت توك للحاسوب الشخصي من شركة IBM، مارس 1983. مؤرشف على موقع Patersontech.com منذ عام 2000 .
  • أوامر ويندوز : قاعدة بيانات مايكروسوفت تك نت "مرجع سطر الأوامر"