إكمال سطر الأوامر


إكمال سطر الأوامر (أو إكمال علامة التبويب ) هو ميزة شائعة في مترجمات سطر الأوامر ، حيث يقوم البرنامج تلقائيًا بملء الأوامر المكتوبة جزئيًا.
برامج سطر الأوامر هي برامج تُمكّن المستخدم من التفاعل مع نظام التشغيل الأساسي عن طريق كتابة الأوامر في موجه الأوامر باستخدام واجهة سطر الأوامر (CLI)، على عكس استخدام الفأرة والنقر في واجهة المستخدم الرسومية (GUI). تتيح ميزة الإكمال التلقائي في سطر الأوامر للمستخدم كتابة الأحرف الأولى من الأمر أو البرنامج أو اسم الملف، ثم الضغط على مفتاح الإكمال (عادةً Ctrl+C Tab ↹) لاستكمال باقي البيانات. بعد ذلك، يضغط المستخدم على مفتاح التشغيل أو مفتاح الإيقاف لتشغيل الأمر أو فتح الملف.Return↵ Enter
تُعدّ ميزة الإكمال التلقائي للأوامر مفيدةً في نواحٍ عديدة، كما يُوضّح ذلك الرسم المتحرك المُرفق بهذه المقالة. فالأوامر الشائعة الاستخدام، وخاصةً تلك ذات الأسماء الطويلة، تتطلب عددًا أقل من ضغطات المفاتيح للوصول إليها. يُمكن إدخال الأوامر ذات أسماء الملفات الطويلة أو صعبة التهجئة بكتابة الأحرف القليلة الأولى والضغط على مفتاح الإكمال، الذي يُكمل الأمر أو اسم الملف. في حال وجود عدة خيارات إكمال مُمكنة، تُعرض بعض مُفسّرات سطر الأوامر، وخاصةً أنظمة يونكس، جميع خيارات الإكمال المُمكنة التي تبدأ بتلك الأحرف القليلة. يُمكن للمستخدم كتابة المزيد من الأحرف والضغط مرةً أخرى لعرض قائمة جديدة مُختصرة إذا كانت الأحرف المكتوبة لا تزال غامضة، أو إكمال الأمر/اسم الملف بإضافة مسافة في النهاية. كما توجد طريقة بديلة للإكمال تُتيح استعراض جميع النتائج المُطابقة عند وجود غموض في المُدخلات.Tab ↹
قد تتضمن العناصر القابلة للإكمال الأوامر، والوسائط، وأسماء الملفات، وغيرها من العناصر، وذلك بحسب المفسر المحدد وإعداداته. يعمل إكمال سطر الأوامر عادةً في الوضع التفاعلي فقط . أي أنه لا يمكن استخدامه لإكمال الأوامر المكتوبة جزئيًا في البرامج النصية أو ملفات الدفعات ، حتى لو كان الإكمال واضحًا لا لبس فيه. يُطلق عليه اسم " إكمال الجدولة" لأن إكمال سطر الأوامر غالبًا ما يُستدعى بالضغط على مفتاح الجدولة .
تاريخ
ظهرت خاصية الإكمال التلقائي باستخدام مفتاح Tab في وقت مبكر من تاريخ الحوسبة. كان أحد الأمثلة الأولى عليها في نظام بيركلي لتقاسم الوقت لجهاز SDS 940 : إذا كانت السلسلة النصية المكتوبة واضحة لا لبس فيها، يقوم المفسر بإكمالها تلقائيًا دون أي أمر من المستخدم. أما إذا كانت السلسلة غامضة، فلا يقوم المفسر بأي شيء. كانت هذه الخاصية سلاحًا ذا حدين، إذ لم تكن تتعامل جيدًا مع الأخطاء الإملائية المتكررة .
لاحقًا، تبنى مطورو نظام التشغيل TENEX الفكرة، لكنهم أدخلوا تغييرًا جوهريًا. فقد قدموا ميزة "التعرف على مفتاح الهروب"، حيث لا يتم الإكمال التلقائي إلا عند ضغط المستخدم على مفتاح الهروب (ومن هنا جاء الاسم). كما وسّع نظام TENEX نطاق الإكمال التلقائي ليشمل أسماء البرامج وأسماء الملفات، بدلًا من الاقتصار على أسماء البرامج فقط (كما في نظام بيركلي). [ 1 ]
نقل نظام التشغيل TOPS-20، وهو أحد أنظمة TENEX المنحدرة، خاصية إكمال سطر الأوامر من مترجم الأوامر إلى نظام التشغيل عبر استدعاء النظام COMND JSYS، مما أتاحها لتطبيقات المستخدم الأخرى. [ 2 ] ومن ثم، استعارها نظام يونكس .
وبشكل منفصل، احتوى جهاز الكمبيوتر CAB 500 (1960) على لغة برمجة مع خاصية الإكمال التلقائي للكلمات الرئيسية الفرنسية تسمى PAF.
مثال
لفتح الملف introduction-to-command-line-completion.html باستخدام متصفح فايرفوكس ، اكتب ما يلي:
مقدمة لمتصفح فايرفوكس حول إكمال سطر الأوامر.html
هذا أمر طويل للكتابة. بدلاً من ذلك، يمكننا استخدام ميزة الإكمال التلقائي في سطر الأوامر.
تسريع الإنجاز
يوضح المثال التالي كيفية عمل ميزة الإكمال التلقائي للأوامر في Bash . قد تختلف طريقة عملها قليلاً في بيئات سطر الأوامر الأخرى.
أولاً، نكتب الأحرف الثلاثة الأولى من الأمر:
شجرة التنوب
ثم نضغط، ولأن الأمر الوحيد في نظامنا الذي يبدأ بـ "fir" هو "firefox"، فسيتم إكماله إلى:Tab ↹
فايرفوكس
ثم نبدأ بكتابة اسم الملف:
فايرفوكس آي
لكن هذه المرة، ليس الملف introduction-to-command-line-completion.html هو الملف الوحيد في المجلد الحالي الذي يبدأ بالحرف "i". يحتوي المجلد أيضًا على الملفين introduction-to-bash.html و introduction-to-firefox.html . لا يستطيع النظام تحديد أيًّا من هذين الاسمين نريد كتابته، لكنه يعلم أن اسم الملف يجب أن يبدأ بـ "introduction-to-"، لذا سيتم إكمال الأمر إلى:
مقدمة إلى فايرفوكس
والآن نكتب "c":
مقدمة إلى لغة C في فايرفوكس
بعد الضغط عليه، سيتم إكمال اسم الملف بالكامل:Tab ↹
مقدمة لمتصفح فايرفوكس حول إكمال سطر الأوامر.html
باختصار، كتبنا:
fir i cTab ↹Tab ↹Tab ↹
هذا يتطلب ثماني ضغطات مفاتيح فقط، وهو أقل بكثير من 52 ضغطة مفاتيح كنا سنحتاج إلى كتابتها بدون استخدام ميزة الإكمال التلقائي في سطر الأوامر.
إكمال الدوران
يوضح المثال التالي كيفية عمل إكمال سطر الأوامر مع الإكمال الدوار، كما هو الحال في موجه أوامر ويندوز (CMD) .
نتبع نفس الإجراء المتبع في مطالبة الإكمال حتى نصل إلى:
فايرفوكس آي
نضغط مرة واحدة، والنتيجة هي:Tab ↹
مقدمة إلى باش في فايرفوكس.html
نضغط مرة أخرى، فنحصل على:Tab ↹
مقدمة لمتصفح فايرفوكس حول إكمال سطر الأوامر.html
باختصار، كتبنا:
fir iTab ↹Tab ↹Tab ↹
هذا يتطلب سبع ضغطات مفاتيح فقط، وهو ما يُشابه الإكمال التلقائي. ويكون هذا الأسلوب أكثر فعالية إذا كنا نعرف الاحتمالات التي سيستعرضها المترجم.
إكمال في واجهات سطر الأوامر المختلفة
- تتمتع أنظمة يونكس ، بما في ذلك باش (الصدفة الافتراضية في معظم توزيعات لينكس ) و ksh من بين العديد من الأنظمة الأخرى، بتقاليد عريقة في إمكانيات الإكمال المتقدمة والقابلة للتخصيص. [ 3 ]
- تتوفر ميزة الإكمال القابل للبرمجة في Bash
completeوالأوامر [ 4 ] منذ الإصدار التجريبي 2.04 [ 3 ] في عام 2000 [ 5 ] وتوفر على الأقل إكمال Pathname و filename.compgen - بالنسبة لمستخدمي KornShell، يعتمد إكمال اسم الملف على قيمة متغير EDITOR. إذا كانت قيمة EDITOR هي vi، فاكتب جزءًا من الاسم، ثم اضغط على فاصلة ( , ). أما إذا كانت قيمة EDITOR هي Emacs ، فاكتب جزءًا من الاسم، ثم اضغط على فاصلة ( , ).Escape\EscapeEscape
- كانت بيئة Z shell (zsh) رائدة في دعم الإكمال التلقائي القابل للبرمجة بالكامل، مما يسمح للمستخدمين بإكمال معلمات الأوامر المختلفة تلقائيًا، بغض النظر عن طبيعة البيئة نفسها. ويتم ذلك عن طريق تزويد البيئة بتعريفات جميع الخيارات المعروفة وأنواع المعلمات المناسبة. على سبيل المثال، يُمكّن هذا المستخدم من كتابة ملفات مضغوطة بصيغة gzip من نظام الملفات، ليقوم النظام بإكمالها تلقائيًا، متجاوزًا الملفات غير المتوافقة مع معلمات الإدخال. يأتي تثبيت zsh الحديث مزودًا بتعريفات إكمال لأكثر من خمسمائة أمر.tar xzf Tab ↹
- يُوفر Tcsh ميزة الإكمال التلقائي لأسماء الملفات والأوامر والمتغيرات، والتي يتم تفعيلها باستخدام الأمر `complete`. كما يُتيح الأمر المدمج `complete` إمكانية برمجة الإكمال التلقائي بالكامل. ويأتي الكود المصدري مصحوبًا بملف `complete.tcsh` يحتوي على العديد من الأمثلة على صيغة الإكمال التلقائي.Tab ↹
- تتوفر ميزة الإكمال القابل للبرمجة في Bash
- يوفر Windows PowerShell ، وهو واجهة سطر أوامر قابلة للتوسيع من مايكروسوفت، والمبنية على البرمجة كائنية التوجه وإطار عمل Microsoft .NET ، إمكانيات إكمال قوية وقابلة للتخصيص تشبه تلك الموجودة في واجهات سطر أوامر Unix التقليدية. [ 6 ] [ 7 ]
- يدعم معالج الأوامر cmd.exe في أنظمة ويندوز NT خاصية الإكمال التلقائي الأساسية. ويمكن استخدام اختصار لوحة مفاتيح منفصل لمطابقة أسماء المجلدات فقط.
- cmd.exe /F:ONيُفعّل هذا الخيار إكمال أسماء الملفات والمجلدات باستخدام الأحرف (^F و^D افتراضيًا). استخدمه لمزيد من المعلومات.cmd.exe /?
- يمكن استخدام TweakUI لضبط المفاتيح المستخدمة لإكمال أسماء الملفات وأسماء المجلدات. [ 8 ]
- لم يكن معالج أوامر MS-DOS، COMMAND.COM، يدعم إكمال سطر الأوامر: فالضغط على مفتاح Tab كان يؤدي فقط إلى تحريك المؤشر . مع ذلك ، توفر العديد من واجهات سطر الأوامر المحسّنة لنظام MS-DOS، مثل 4DOS ، ونسخة FreeDOS من COMMAND.COM ، وEnhanced DOSKEY.COM، ميزة إكمال سطر الأوامر بنمط Unix.
- بالإضافة إلى وظائف إدارة الملفات، يوفر برنامج Far Manager سجل الأوامر وإكمال الأسطر لنظام التشغيل Windows.
انظر أيضاً
مراجع
- ↑ "أصول وتطور مؤشر TOPS-20" . www.opost.com . مؤرشف من الأصل بتاريخ 1 أغسطس 2020. تم الاطلاع عليه بتاريخ 10 سبتمبر 2006 .
- ↑ دليل لغة التجميع DECSYSTEM-20
- 1 2 "العمل بشكل أكثر إنتاجية باستخدام bash 2.x/3.x" . www.caliban.org .
- ↑ "دليل مرجعي لـ Bash" . tiswww.case.edu .
- ↑ "فهرس /gnu/bash" . ftp.swin.edu.au .
- ↑ "The PowerShell Guy" . thepowershellguy.com .
- ↑ "The PowerShell Guy" . thepowershellguy.com .
- ↑ "سايمون بيتون جونز في قسم الأبحاث في مايكروسوفت" . مايكروسوفت .
روابط خارجية
أنظمة يونكس
- نظرة عامة على ميزة الإكمال التلقائي في Bash - "العمل بكفاءة أكبر مع Bash 2.x/3.x" بقلم إيان ماكدونالد
- نظام الإكمال التلقائي في zsh، فصل من دليل Z Shell
- استكمال البيانات وإدراجها من دليل TCSH
مترجمات أوامر ويندوز
(تأكد من مراجعة قسم "ينطبق على" في كل مقال)
- ويندوز سيرفر 2003:
- إكمال اسم الدليل
- إكمال أسماء الملفات
- ويندوز إكس بي
- ويندوز 2000/إن تي 4
- تقنيات واجهة المستخدم
- إكمال تلقائي
