لماذا لازلنا نستخدم واجهة سطر الأوامر حتى الآن ؟

· 711 كلمة · 4 دقيقة قراءة

الـ GUI (graphical user interface) هي الواجهة الرسومية وتعتبر واجهة أسهل في الاستخدام وأجمل في الشكل. لكن الـ CLI (command line interface) وهي واجهة سطر الأوامر تعتبر أسرع وأسهل في الأتمته (تحويل الأوامر إلى أوامر تلقائياً بناءاً على منطق معين بدلاً من التنفيذ اليدوي لكل أمر).

مزايا واجهة سطر الأوامر بالمقارنة مع الواجهة الرسومية 🔗

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

واجهة نصية خفيفة 🔗

إن نفذت عملية مثل عملية تحويل ملف فيديو MP4 إلى ملف صوتي MP3 من خلال برنامج ffmpeg على واجهة سطر الأوامر، ستكون العملية أسرع مقارنةً بالوقت الذي ستأخذه إن استخدمت برنامج له واجهة رسومية مثل فورمات فاكتوري (FormatFactory) أو هاند بريك (HandBrake).

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

واجهة سطر الأوامر (CLI) أسرع من الواجهة الرسومية (GUI) لأن واجهة سطر الأوامر تستخدم النصوص فقط. والنصوص أخف من الرسوميات طبعاً.

المهام المتكررة 🔗

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

ولكن في واجهة سطر الأوامر، يُمكنك كتابة سكربت بلغة باش (Bash script) لتنفيذ عملية إعادة تسمية الملفات تلقائياً. تكتب السكربت ثم تشغله على هذه الملفات أو المجلد الحاوي لهم.

إن كنت تريد تنفيذ المهام المكررة بدون إرهاق وتعب ، استخدم واجهة سطر الأوامر وليس الواجهة الرسومية.

الاتساق والتشابه على كل المنصات والأنظمة 🔗

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

واجهة سطر الأوامر (CLI) تجعل استخدام توزيعات لينكس أسهل بسبب توافقهم في الـ POSIX compliant Bash shell لذلك تستطيع كتابة سكربت باش يعمل عليهم جميعاً. وهذا تشابه واتساق جميل ومفيد جداً وخاصةً لأجهزة الشركات والسيرفرات.

النصائح والأمور المتقدمة 🔗

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

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

المبرمجين يستخدموا الـ CLI أكثر من الـ GUI لأنه يهتمون بكفاءة عمل الأشياء أكثر من مظهرها.

أمثلة على استخدام واجهة سطر الأوامر 🔗

  • التوصيل من خلال SSH لكمبيوتر آخر أو سيرفر آخر بهدف التحكم فيه أو استخدامه أو متابعته.
  • إعادة تسمية عدد كبير جداً من الملفات مرةً واحدة. أمر إعادة تسمية عدد كبير من الملفات في ويندوز پورشِل (Windows powershell) : ls | Rename-Item -NewName {$_.name -replace "beach--", "hiking_trip_"}.
  • متابعة ومراقبة الملفات لمعرفة التغييرات التي تطرأ على محتواها (مثال, tail -f access.log).
  • نسخ عدد كبير جداً من الملفات من ٣ مجلدات إلى مجلد واحد آخر.
  • إظهار كلمات المرور (passwords) الخاصة بشبكات الواي فاي المتصلة مسبقاً بنظام التشغيل ويندوز : netsh wlan show profile name=Username key=clear.
  • إعطاء أمر لجهاز الكمبيوتر بأن يغلق نفسه بعد عدد معين من الثواني أو الدقائق : shutdown -s -t 1200.

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

التصنيفات: برمجة
مشاركة:
الترجمات:  English (Why Do Command Lines Still Exist ?)