Skip to Content

11 باش

BooDy's picture

11. باش

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

كواجهة للمستخدم يقوم بقرائة أومرك و يقوم بتنفيذها إذا كانت داخليه مثل cd أو يقوم بالبحث عن البرنامج الذي سيقوم بتنفيذها إذا كانت أوامر خارجية مثل startx. و يقوم أيضا بعمل بعض الوظائف مثل حفظ تاريخ للأوامر و مثل إكمال أسماء الملفات.

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

for f in /home/greg/sh-utils-1.16*.patch; do patch -p0 < $f; done;

يقوم هذا بالبحث في مجلدي الرئيسي عن الملفات التي تبدأ بـsh-utils-1.16 و تنتهي بـ.patch و من ثم يأخذ كل من هؤلاء بدورهم و يقوم بتعيين المتغير f لهم و يقوم بتنفيذ الأمر بين do و done. في هذه الحاله يوجد 11 ملف ترقيعه.

11.1 التنسيق

يتحكم ملف /etc/profile في طريقة عمل باش في النظام كله. ما سوف تضعه هنا سوف يؤثر على كل مستخدمي باش على النظام. سيقوم بعمل أشياء مثل إضافة مجلدات إلى PATH و تحديد متغير مجلد البريد.

التهيئة الافتراضية للوحة المفاتيح توفر العديد لتطلبه. في الحقيقه يقوم readline بالتعامل مع هذا. و هو حزمة مستقله تقوم بالتعامل مع واجهة سطر الأوامر ، بتوفير تاريخ للأوامر و توفير إكمال لأسماء الملفات، و بالإضافة لبعض المميزات المتقدمة. و هو مجمع افتراضيا بداخل باش.يتم تنسيق readline بواسطة الملف.inputrc في مجلدك الرئيسي، يمكن استخدام متغير INPUTRC لتخطي هذا في باش. مثلا في ريد هات 6 تم تحديد INPUTRC لـ /etc/inputrc في /etc/profile. معنى هذا أن زر التراجع و الخذف و زر home و end سوف تعمل بشكل جيد للجميع.

بمجرد قيام باش بقراءة ملف تنسيقات النظام بكامله سوف يبحث عن ملف تنسيقاتك الشخصي. سيقوم بالتحقق في مجلدك الرئيسي للبحث عن .bash_profile, .bash_login و .profile. و يقوم بتشغيل أولواحد منهم سيجده. إذا أردت تغيير طريقة تصرف باش بالنسبة لك فقط بدون التأثير على الآخرين على النظام قم بذلك من هنا. مثلا يوجد العديد من التطبيقات التي تستخدم متغيرات معينه ليتحكم في طريقة عمله. يوجد لدي قيمة المتغير EDITOR محدده إلى vi لكي أستطيع استخدام vi في Midnight Commander ( مدير ملفات ممتاز لسطر الأوامر) بدلا من محرره.

11.2 التمارين

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

إقرأ سكربتات الغلاف، ابحث عن أشياء لا يمكنك فهمها.

11.3 لمزيد من المعلومات

يوجد مع هذا ``Bash Reference Manual'' و لكنه كبير و عميق. يوجد كتاب O'Rielly عن الباش، لست متأكد من جودته ليس لدي علم عن أي دروس مجانيه حديثه عن الباش، إذا كان لديك برجاء إرسالها إلي. المصدر البرمجي، راجع Building a Minimal Linux System from Source Code للحصول على وصلات



Dr. Radut | book