بيت سمعي يونيكس / لينكس قذائف 101

يونيكس / لينكس قذائف 101

جدول المحتويات:

Anonim

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

ما هي قذيفة؟

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


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


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


تتمثل إحدى ميزات Unix المميزة في القدرة على إعادة توجيه إدخال البرنامج وإخراجه. قذيفة تنفذ هذه الوظيفة.


الصدفة هي مجرد برنامج آخر ، لذلك من الممكن لأي مبرمج لديه المهارات المناسبة أن ينشئ برنامجًا. كانت هناك العديد من القذائف الرئيسية التي ظهرت على مر السنين.

تاريخ وصدفة للقذائف

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


كانت القشرة الرئيسية التالية هي قذيفة سي ، والتي اختصرت عادة باسم "csh". تم تطوير هذه القشرة في جامعة كاليفورنيا في بيركلي ، لتصبح مكونًا رئيسيًا لنكهة بي إس دي في يونكس. كما يوحي الاسم ، تم تصميم بناء الجملة لتشبه لغة البرمجة C ، لكنه تم تصميمه بالفعل للاستخدام التفاعلي.


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


القشرة الرئيسية التالية كانت قذيفة كورن ، التي خرجت أيضًا من مختبرات بيل. تم تسمية القشرة باسم ديفيد كورن ، وليس الفرقة ، بالمناسبة. يتمثل الابتكار الرئيسي لشركة Korn shell في إدخال تحرير سطر الأوامر ، مما يؤدي إلى توسيع وظائف السجل إلى أبعد من ذلك. يمكن للمستخدمين العودة وتحرير الأوامر التي كتبوها باستخدام أوامر مشابهة لمحرري vi أو Emacs.


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


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

البرمجة

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


على الرغم من قوتها ، فإن البرمجة في الأصداف بها بعض المآزق. المشكلة الأكبر هي أنه من السهل جدًا كتابة برامج نصية تعتمد على بعض البرامج التي قد لا تكون موجودة على نظام آخر ، أو تعتمد على نكهة معينة من Unix أو Linux. هذا هو السبب في أن البرامج النصية shell مناسبة تمامًا للبرامج التي تعرف أنها لن تعمل إلا على نظام واحد. إذا كنت تحاول بناء شيء محمول ولا ترغب في كتابة برنامج C ، فإن أفضل رهان لك هو الكتابة بلغة نصية أخرى مثل Perl أو Python.

نظرة خاطفة على غطاء محرك السيارة من سطر الأوامر يونيكس / لينكس

هناك المزيد من القوة الكامنة تحت سطح سطر أوامر Unix / Linux. قد تحثك هذه المقالة على إلقاء نظرة خاطفة على غطاء قشرة صدرك المفضلة لترى ما يمكنك فعله حقًا. إذا كنت ترغب في الدخول في برمجة نصية ، فقد تحتاج إلى مراجعة الكتب الخاصة بـ Unix Power Tools وتعلم Bash Shell. تعتبر ورقة ستيفن بورن الأصلية على غلافه بمثابة مقدمة جيدة لعالم كتابة النصوص ، حتى لو كانت قديمة.

يونيكس / لينكس قذائف 101