بمراجعة المقالات الأخرى التي صادفتها هذا السؤال الصغير الذي تسبب لي كثيرًا من المرح ، فمن الصحيح أن أحد الأشياء الأولى التي يواجهها مستخدمو الأنظمة الأخرى (باستثناء FreeBSD) هو أننا لا نستخدم واجهات المستخدم الرسومية. لقول الحقيقة ، بدا لي الأمر مثيرًا للفضول في بداية رحلتي بين جنو / لينكس. يجب أن أعترف أنه بمرور الوقت ، أستخدم الآن سطر الأوامر أكثر بكثير من أي برنامج واجهة مستخدم رسومية آخر ، وفي كثير من الأحيان أفضل برامج سطر الأوامر على برامج أكثر تفصيلاً مع واجهات رسومية مبهرة.
الخرافة
في الواقع ، هذه ليست أكثر من خرافة حضرية ، لأنه على عكس الأنظمة الأخرى التي لن تُذكر أسماؤها هنا ، فهي في GNU / Linux حيث لديك حقًا حرية الاختيار. أتمنى أن يكون هناك التنوع الموجود هنا في الأنظمة الأخرى. لكن دعونا نلقي نظرة فاحصة على هذا الأمر ، وإلا فإن الكثير من الأمور غير واضحة:
خوادم
لقد سمعنا جميعًا الكلمة الخادم، يعتقد البعض أنها أجهزة الكمبيوتر العملاقة التي تدعم Google أو Amazon ، أو تلك الموجودة في شركتك. لكن الحقيقة هي أن أ الخادم الرد على أ نموذج العمل. نستخدم هذا المصطلح للإشارة إلى حقيقة أن لدينا برنامجًا متاحًا للمستخدمين (ما يقوله عملاؤنا) ومنحهم شيئًا. مثال أساسي هو Apache، والذي يستخدم ل خدمة صفحات الويب على الإنترنت. يقدم هذا البرنامج html إلى ما يقوله عملاؤنا التي تطلب ذلك.
خادم الصور
ولكن لا يمكن أن يكون الخادم فقط على أجهزة الكمبيوتر العملاقة التي تتيحها Google والعديد من الشركات الأخرى ، بل يمكن أن يكون الكمبيوتر المحمول "الأقدم" الخادمخاصة عندما نتحدث عن الصور. كلنا ندير ملف الخادم من الصور في أجهزة الكمبيوتر المحمولة لدينا من أجل الحصول على شاشة وظيفية ، في هذه الحالة الخادم و زبون هم نفس الشخص. المثال الأكثر شيوعًا هو X (المعروف باسم xorg-server في العديد من التوزيعات) واستبدالها الجديد Wayland. لن نقدم شرحًا مفصلاً عن سبب عمل المؤسسة ، أو كيفية عمل Wayland ، أو الفلسفات الموجودة وراء هذه المشاريع العظيمة ، لكننا سنوضح أنه بفضلهم يمكننا الحصول على متصفح ويب مثل Firefox أو Chrome أو العديد من البرامج الأخرى.
مدير النافذة
يعمل مديرو النوافذ مباشرة مع خادم الصور ، ويكون عملهم على مستوى "أدنى" ، حيث إنهم يديرون (يغفرون التكرار) كيفية إنشاء النوافذ وتعديلها وإغلاقها. عادة ما تكون بسيطة للغاية ويتم بناء بيئات سطح المكتب عليها. القائمة كبيرة ، لكنني سأترك هنا فقط فكرة أنها كذلك برامج الحد الأدنى التي تسمح بالتحكم الأساسي إلى حد ما في خادم الصور.
بيئة سطح المكتب
مجموعة برامج أكثر تخصصًا لا تتيح تشغيل خادم الصور فحسب ، بل توفر أيضًا إمكانات التخصيص. من بين هؤلاء ، الأقدم والأثقل هي KDE و GNOME ، لكن لدينا أيضًا بيئات أخف مثل LXDE أو Mate ، Cinnamon ، إلخ.
CLI (واجهة سطر الأوامر)
بعد نظرة سريعة على عالم خوادم الصور ، ننتقل الآن إلى موضوعنا مرة أخرى. CLI، يعني أي برنامج يتم تنفيذه بواسطة سطر الأوامر أيضًا git, vim, weechat، أو أي شيء آخر يتبادر إلى الذهن. يمكنك أن ترى أنني أتحدث عن البرامج التي ، على الرغم من تنفيذها في سطر الأوامر ، فإنها تعرض نوعًا من "الواجهة الرسومية" مثل weechat o vim. بالنسبة لجميع أولئك الذين لم يجربوها ، أوصي بهم ، فهم في الأساس هم الأشخاص الذين أستخدمهم طوال اليوم.
لماذا CLI أفضل من واجهة المستخدم الرسومية
دعونا نجرب شيئًا بسيطًا جدًا في أحد الأيام كنت أرغب في العمل على تصحيح له Portage (مدير حزم Gentoo). مثل أي مشروع تعاوني جيد ، يتجاوز عدد أسطر الكود 70 ألفًا. حاول فتح ذلك في IDE مثل NinjaIDE (Portage مكتوب بلغة Python) وستلاحظ قريبًا أنه عندما تبدأ الشاشة في التحميل ، يصبح جهازك بطيئًا للغاية (على الأقل فعل i7) وهذا يحاول فقط افتح الكود وغير اللون الافتراضي لـ «مساعدة».
الآن حاول أن تفعل الشيء نفسه مع vim، حملتني في غضون أجزاء من الثانية ، وفي الوقت نفسه وضعت الألوان "الجميلة" وكل شيء آخر.
لقد كان CLI منذ فترة طويلة
سيقول البعض هنا أن هذه البرامج قديم، أنا أتصل بهم قوي. إذا كان بإمكانك رؤية عدد الساعات المستثمرة في البناء emacs, vim, gdb، ومئات من برامج وحدة التحكم الأخرى ، قد تلاحظ أن مقدار الكود والوظائف كبير جدًا لدرجة أنهم قاموا بالفعل بحل كل ما يحتاجون إلى حل. كثير GUI بالنسبة للبرامج القوية بالفعل في CLI الخاصة بهم ، فلن يكون لديهم نفس القدر من الوظائف ، وهذا ببساطة لأنه إذا قمنا بعمل علامة تبويب لكل أمر فرعي متاح ، على سبيل المثال git، سوف نفقد أنفسنا بين الخيارات وسيؤدي ذلك إلى نتائج عكسية ، لأنه سيجعل من الصعب العمل.
CLI أسرع
يبدأ السحر بالمفتاح Tab، هذا ليس فقط أفضل صديق لك عند تصفح أجهزة سطح المكتب في جهازك الطرفي ، ولكن عندما يتم تكوينه بشكل صحيح ، فإنه يسمح لك بتقصير الجمل الطويلة إلى حرفين وعلامة تبويب و 2 أحرف وعلامة تبويب أو حتى حرف وعلامة تبويب التبويب.
لكن هذه ليست الميزة الوحيدة ، أولئك الذين قضوا وقتًا في التعلم vim o emacs يمكننا القول أنه على الرغم من أن منحنى التعلم أعلى قليلاً من منحنى IDEs هذه الأيام ، إلا أن نتائج الإنتاجية مذهلة في النهاية ، لا يمكن للمرء أن يتخيل الوقت الذي يمكن أن يضيع عند تحريك الماوس. إن وجود يديك على لوحة المفاتيح بنسبة 90٪ من الوقت لا يعلمك التركيز فقط ، ولكن حقيقة أنك تكتب كثيرًا على لوحة المفاتيح تجعلك رشيقًا ومنتجًا. والآن نعود إلى النقطة السابقة ، بعد أن قضينا فترة طويلة معنا ، فإن برامج مثل هذه لديها بالفعل جميع الوظائف التي يمكن أن يفكر فيها شخص ما ، وهو قول شائع إلى حد ما بالنسبة لأولئك منا الذين يستخدمون vim يتبادر إلى الذهن:
إذا كنت تستخدم أكثر من 4 مفاتيح ، فقد تكون هناك طريقة أفضل.
يتيح لك vim ، البسيط والقوي ، القيام بكل شيء مع العدد الكبير من المفاتيح والتركيبات الممكنة ، ولا يتوقف المرء عن التعلم أبدًا ، ولكن من الصحيح أيضًا أنه من أجل استخدامه ، ليس من الضروري معرفتها جميعًا ، حوالي 10 أو 15 كافية للبدء كن أكثر إنتاجية.
يمنحك CLI تحكمًا كاملاً
عندما ينفذ المرء عمليات باستخدام الماوس ، أو برامج من خادم الصور ، فإن جميع التكوينات الإضافية التي يتم تنفيذها في لحظة النقر لا تكون موجودة دائمًا ، وهذا لا يحدث مع الجهاز ، هنا لديك القوة المطلقة لما تم تنفيذه أم لا ، مع أي خيار أو إلى أي مدى. بمرور الوقت تدرك أنك بحاجة إلى أقل مما تعتقد ، وهذا يساعدك على القيام بالأشياء بطريقة أكثر تركيزًا.
واجهة المستخدم الرسومية لها شيء خاص بها أيضًا
لن أقول إنه يجب علينا جميعًا استخدام CLI دائمًا ، فهذا ليس مثاليًا أيضًا ، أنا بنفسي أستخدم واجهات المستخدم الرسومية طوال الوقت تقريبًا ، لكتابة هذا المنشور ، أستخدم Chrome ، ولرؤية رسائل البريد الإلكتروني الخاصة بي ، أستخدم Evolution (على الرغم من أنني أستخدم أيضًا mutt قليلاً في الآونة الأخيرة). وأفترض أن هذه هي أكبر أسطورة على الإطلاق... أن الناس يعتقدون أن نظام GNU/Linux هو نظام طرفي فقط، وأنا أحب بيئة سطح المكتب الخاصة بي، فهي بسيطة للغاية، لكني أحبها بهذه الطريقة وعادةً ما يكون لدي اثنين أو ثلاثة فقط البرامج قيد التشغيل، وChrome، وEvolution، والمحطة الطرفية الخاصة بي
هذه بعض الأسباب التي تجعلني أحب واجهات سطر الأوامر كثيرًا ولماذا أدعوك لتجربتها، ربما سينتهي بك الأمر لاحقًا مثلي باستخدام واجهات سطر الأوامر أكثر من واجهات المستخدم الرسومية مع تحياتي